Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ru.mdev.irbisclicker;
- import android.app.Activity;
- import android.app.Dialog;
- import android.content.Context;
- import android.content.Intent;
- import android.content.SharedPreferences;
- import android.graphics.Color;
- import android.graphics.Typeface;
- import android.graphics.drawable.ColorDrawable;
- import android.net.Uri;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.ImageView;
- import android.widget.TextView;
- import android.widget.Toast;
- import androidx.annotation.NonNull;
- import androidx.appcompat.app.AppCompatActivity;
- import com.google.firebase.auth.FirebaseAuth;
- import com.google.firebase.database.DataSnapshot;
- import com.google.firebase.database.DatabaseError;
- import com.google.firebase.database.DatabaseReference;
- import com.google.firebase.database.FirebaseDatabase;
- import com.google.firebase.database.Query;
- import com.google.firebase.database.ValueEventListener;
- import com.unity3d.ads.IUnityAdsInitializationListener;
- import com.unity3d.ads.IUnityAdsLoadListener;
- import com.unity3d.ads.IUnityAdsShowListener;
- import com.unity3d.ads.UnityAds;
- import com.unity3d.ads.UnityAdsShowOptions;
- public class ProfilePage extends AppCompatActivity implements IUnityAdsInitializationListener {
- private ImageView main, up, settings;
- private TextView signout, info;
- private FirebaseAuth mAuth;
- private Dialog dialog;
- private Button email, pass, data, rate_app, vk, activate, promoCodes, nick, setnick, rate, ad;
- private EditText promo;
- private String unityGameID = "5630188";
- private Boolean testMode = false;
- private String adUnitId = "Rewarded_Android";
- private IUnityAdsLoadListener loadListener = new IUnityAdsLoadListener() {
- @Override
- public void onUnityAdsAdLoaded(String placementId) {
- UnityAds.show(ProfilePage.this, adUnitId, new UnityAdsShowOptions(), showListener);
- }
- @Override
- public void onUnityAdsFailedToLoad(String placementId, UnityAds.UnityAdsLoadError error, String message) {
- Log.e("UnityAdsExample", "Unity Ads failed to load ad for " + placementId + " with error: [" + error + "] " + message);
- }
- };
- private IUnityAdsShowListener showListener = new IUnityAdsShowListener() {
- @Override
- public void onUnityAdsShowFailure(String placementId, UnityAds.UnityAdsShowError error, String message) {
- Log.e("UnityAdsExample", "Unity Ads failed to show ad for " + placementId + " with error: [" + error + "] " + message);
- }
- @Override
- public void onUnityAdsShowStart(String placementId) {
- Log.v("UnityAdsExample", "onUnityAdsShowStart: " + placementId);
- }
- @Override
- public void onUnityAdsShowClick(String placementId) {
- Log.v("UnityAdsExample", "onUnityAdsShowClick: " + placementId);
- }
- @Override
- public void onUnityAdsShowComplete(String placementId, UnityAds.UnityAdsShowCompletionState state) {
- Log.v("UnityAdsExample", "onUnityAdsShowComplete: " + placementId);
- if (state.equals(UnityAds.UnityAdsShowCompletionState.COMPLETED)) {
- mAuth = FirebaseAuth.getInstance();
- if (mAuth.getCurrentUser() != null) {
- String uid = mAuth.getCurrentUser().getUid();
- DatabaseReference userRef = FirebaseDatabase.getInstance().getReference().child("user").child(uid);
- userRef.child("balance").addListenerForSingleValueEvent(new ValueEventListener() {
- @Override
- public void onDataChange(@NonNull DataSnapshot snapshot) {
- int balance = snapshot.getValue(Integer.class);
- int newBalance = balance + 50;
- userRef.child("balance").setValue(newBalance);
- Toast.makeText(ProfilePage.this, "Вы получили 50 бонусов", Toast.LENGTH_SHORT).show();
- }
- @Override
- public void onCancelled(@NonNull DatabaseError error) {
- }
- });
- }
- } else {
- }
- }
- };
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_profile_page);
- UnityAds.initialize(getApplicationContext(), unityGameID, testMode, this);
- mAuth = FirebaseAuth.getInstance();
- main = findViewById(R.id.main);
- up = findViewById(R.id.upp);
- settings = findViewById(R.id.settings);
- signout = findViewById(R.id.signout);
- email = findViewById(R.id.email);
- pass = findViewById(R.id.pass);
- data = findViewById(R.id.data);
- info = findViewById(R.id.info);
- promoCodes = findViewById(R.id.promoCodes);
- rate_app = findViewById(R.id.rate_app);
- rate = findViewById(R.id.rate);
- vk = findViewById(R.id.vk);
- nick = findViewById(R.id.nick);
- setnick = findViewById(R.id.setnick);
- ad = findViewById(R.id.ad);
- dialog = new Dialog(ProfilePage.this);
- info.setTypeface(Typeface.createFromAsset(getAssets(), "fonts/jost.ttf"));
- signout.setTypeface(Typeface.createFromAsset(getAssets(), "fonts/jost.ttf"));
- if (mAuth.getCurrentUser() != null) {
- String uid = mAuth.getCurrentUser().getUid();
- DatabaseReference userRef = FirebaseDatabase.getInstance().getReference().child("user").child(uid);
- email.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- userRef.child("email").addListenerForSingleValueEvent(new ValueEventListener() {
- @Override
- public void onDataChange(DataSnapshot dataSnapshot) {
- String email_text = dataSnapshot.getValue(String.class);
- Toast.makeText(ProfilePage.this, email_text, Toast.LENGTH_SHORT).show();
- }
- @Override
- public void onCancelled(DatabaseError databaseError) {
- // Обработка ошибок
- }
- });
- }
- });
- pass.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- userRef.child("password").addListenerForSingleValueEvent(new ValueEventListener() {
- @Override
- public void onDataChange(DataSnapshot dataSnapshot) {
- String pass_text = dataSnapshot.getValue(String.class);
- Toast.makeText(ProfilePage.this, pass_text, Toast.LENGTH_SHORT).show();
- }
- @Override
- public void onCancelled(DatabaseError databaseError) {
- // Обработка ошибок
- }
- });
- }
- });
- data.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- userRef.child("data").addListenerForSingleValueEvent(new ValueEventListener() {
- @Override
- public void onDataChange(DataSnapshot dataSnapshot) {
- String data = dataSnapshot.getValue(String.class);
- Toast.makeText(ProfilePage.this, data, Toast.LENGTH_SHORT).show();
- }
- @Override
- public void onCancelled(DatabaseError databaseError) {
- // Обработка ошибок
- }
- });
- }
- });
- nick.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- userRef.child("nick").addListenerForSingleValueEvent(new ValueEventListener() {
- @Override
- public void onDataChange(DataSnapshot dataSnapshot) {
- String nick = dataSnapshot.getValue(String.class);
- Toast.makeText(ProfilePage.this, nick, Toast.LENGTH_SHORT).show();
- }
- @Override
- public void onCancelled(DatabaseError databaseError) {
- // Обработка ошибок
- }
- });
- }
- });
- setnick.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- dialog.setContentView(R.layout.setnick_dialog);
- dialog.show();
- dialog.setCanceledOnTouchOutside(true);
- dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
- EditText nick = dialog.findViewById(R.id.nick);
- Button set = dialog.findViewById(R.id.set);
- set.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- String nickt = nick.getText().toString();
- if (!nickt.isEmpty()) {
- if (nickt.length() > 3) {
- if (nickt.length() <= 10) {
- if (nickt.matches("[a-zA-Zа-яА-Я]+")) {
- checkNick(nickt);
- dialog.dismiss();
- } else {
- Toast.makeText(ProfilePage.this, "Никнейм может содержать только английские и русские буквы", Toast.LENGTH_LONG).show();
- }
- }else{
- Toast.makeText(ProfilePage.this, "Никнейм не может быть больше 10 символов", Toast.LENGTH_LONG).show();
- }
- }else{
- Toast.makeText(ProfilePage.this, "Никнейм не может быть меньше 3 символов", Toast.LENGTH_LONG).show();
- }
- }else{
- Toast.makeText(ProfilePage.this, "Поле никнейма не может быть пустым", Toast.LENGTH_LONG).show();
- }
- }
- });
- }
- });
- }
- ad.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- UnityAds.load(adUnitId, loadListener);
- Toast.makeText(ProfilePage.this, "Загрузка рекламы", Toast.LENGTH_LONG).show();
- }
- });
- main.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(ProfilePage.this, MainPage.class);
- startActivity(intent);
- overridePendingTransition(0,0);
- }
- });
- rate.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(ProfilePage.this, RatingActivity.class);
- startActivity(intent);
- overridePendingTransition(0,0);
- }
- });
- signout.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- mAuth.signOut();
- SharedPreferences sharedPreferences = getSharedPreferences("MyPrefs", Context.MODE_PRIVATE);
- SharedPreferences.Editor editor = sharedPreferences.edit();
- editor.putBoolean("isLoggedIn", false);
- editor.apply();
- Intent intent = new Intent(ProfilePage.this, MainActivity.class);
- startActivity(intent);
- }
- });
- up.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(ProfilePage.this, UpPage.class);
- startActivity(intent);
- overridePendingTransition(0,0);
- }
- });
- settings.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- showSettings();
- }
- });
- rate_app.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- String url = "https://vk.com/topic-218004004_48990214";
- Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
- startActivity(intent);
- }
- });
- vk.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- String url = "https://vk.me/mercidev";
- Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
- startActivity(intent);
- }
- });
- promoCodes.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- dialog.setContentView(R.layout.promo_dialog);
- dialog.show();
- dialog.setCanceledOnTouchOutside(true);
- dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
- activate = dialog.findViewById(R.id.activate);
- promo = dialog.findViewById(R.id.promo);
- activate.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- String code = promo.getText().toString();
- if (!code.isEmpty()) {
- showPromo(code);
- }else{
- Toast.makeText(ProfilePage.this, "Поле промокода не может быть пустым", Toast.LENGTH_LONG).show();
- }
- }
- });
- }
- });
- }
- public void showSettings() {
- Toast.makeText(ProfilePage.this, "В разработке", Toast.LENGTH_SHORT).show();
- }
- public void showPromo(String code) {
- DatabaseReference promos = FirebaseDatabase.getInstance().getReference().child("codes").child(code);
- String uid = mAuth.getCurrentUser().getUid();
- promos.addListenerForSingleValueEvent(new ValueEventListener() {
- @Override
- public void onDataChange(DataSnapshot dataSnapshot) {
- if (dataSnapshot.exists()) {
- boolean isActive = false;
- DataSnapshot activeSnapshot = dataSnapshot.child("active");
- for (DataSnapshot childSnapshot : activeSnapshot.getChildren()) {
- if (childSnapshot.getValue(String.class).equals(uid)) {
- isActive = true;
- break;
- }
- }
- if (!isActive) {
- promos.child("item").addListenerForSingleValueEvent(new ValueEventListener() {
- @Override
- public void onDataChange(DataSnapshot snapshot) {
- Integer item = snapshot.getValue(Integer.class);
- promos.child("usages").addListenerForSingleValueEvent(new ValueEventListener() {
- @Override
- public void onDataChange(@NonNull DataSnapshot snap) {
- Integer usages = snap.getValue(Integer.class);
- if (usages > 0) {
- FirebaseDatabase.getInstance().getReference().child("user").child(uid).child("balance").addListenerForSingleValueEvent(new ValueEventListener() {
- @Override
- public void onDataChange(@NonNull DataSnapshot snpshot) {
- Integer balance = snpshot.getValue(Integer.class) + item;
- FirebaseDatabase.getInstance().getReference().child("user").child(uid).child("balance").setValue(balance);
- Integer newUsages = usages - 1;
- promos.child("active").push().setValue(uid);
- promos.child("usages").setValue(newUsages);
- Toast.makeText(ProfilePage.this, "Промокод успешно применён", Toast.LENGTH_SHORT).show();
- }
- @Override
- public void onCancelled(@NonNull DatabaseError error) {
- }
- });
- } else {
- Toast.makeText(ProfilePage.this, "Промокод больше недействителен", Toast.LENGTH_SHORT).show();
- }
- }
- @Override
- public void onCancelled(@NonNull DatabaseError error) {
- }
- });
- }
- @Override
- public void onCancelled(DatabaseError error) {
- }
- });
- }else{
- Toast.makeText(ProfilePage.this, "Промокод уже активирован вами", Toast.LENGTH_SHORT).show();
- }
- }else{
- Toast.makeText(ProfilePage.this, "Промокод не существует", Toast.LENGTH_SHORT).show();
- }
- }
- @Override
- public void onCancelled(DatabaseError databaseError) {
- }
- });
- }
- public void setNick(String nick) {
- String uid = mAuth.getCurrentUser().getUid();
- DatabaseReference userRef = FirebaseDatabase.getInstance().getReference().child("user").child(uid);
- userRef.child("nick").addListenerForSingleValueEvent(new ValueEventListener() {
- @Override
- public void onDataChange(DataSnapshot dataSnapshot) {
- userRef.child("nick").setValue(nick);
- Toast.makeText(ProfilePage.this, "Никнейм успешно установлен", Toast.LENGTH_SHORT).show();
- }
- @Override
- public void onCancelled(DatabaseError databaseError) {
- // Обработка ошибок
- }
- });
- }
- public void checkNick(String nick) {
- DatabaseReference usersRef = FirebaseDatabase.getInstance().getReference("user");
- Query query = usersRef.orderByChild("nick").equalTo(nick);
- query.addListenerForSingleValueEvent(new ValueEventListener() {
- @Override
- public void onDataChange(@NonNull DataSnapshot snapshot) {
- if (snapshot.exists()) {
- Toast.makeText(ProfilePage.this, "Такой никнейм уже занят", Toast.LENGTH_LONG).show();
- } else {
- setNick(nick);
- }
- }
- @Override
- public void onCancelled(@NonNull DatabaseError error) {
- Toast.makeText(ProfilePage.this, "Ошибка при проверке никнейма", Toast.LENGTH_LONG).show();
- }
- });
- }
- @Override
- public void onInitializationComplete() {
- }
- @Override
- public void onInitializationFailed(UnityAds.UnityAdsInitializationError error, String message) {
- Log.e("UnityAdsExample", "Unity Ads initialization failed with error: [" + error + "] " + message);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment