导航菜单

页面标题

页面副标题

Loan Locker v1.5 - AddAccountActivity.java 源代码

正在查看: Loan Locker v1.5 应用的 AddAccountActivity.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.user.a4keygen;

import android.accounts.Account;
import android.accounts.AccountManager;
import android.accounts.AccountManagerCallback;
import android.accounts.AccountManagerFuture;
import android.accounts.AuthenticatorException;
import android.accounts.OperationCanceledException;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.admin.DevicePolicyManager;
import android.content.ComponentName;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.UserManager;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.RadioGroup;
import android.widget.Toast;
import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.ProcessLifecycleOwner;
import com.user.a4keygen.common.Util;
import java.io.IOException;

public class AddAccountActivity extends Activity {
    public static final String EXTRA_NEXT_ACTIVITY_INTENT = "nextActivityIntent";
    private static final String GOOGLE_ACCOUNT_TYPE = "com.google";
    private static final String TAG = "AddAccountActivity";
    private static final long WAIT_FOR_FOREGROUND_DELAY_MS = 10;
    private ComponentName mAdminComponentName;
    private DevicePolicyManager mDevicePolicyManager;
    private boolean mDisallowModifyAccounts;
    private Intent mNextActivityIntent = null;
    private UserManager mUserManager;

    @Override
    protected void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        this.mUserManager = (UserManager) getSystemService("user");
        this.mDevicePolicyManager = (DevicePolicyManager) getSystemService("device_policy");
        this.mAdminComponentName = DeviceAdminReceiver.getComponentName(this);
        setContentView(R.layout.activity_add_account);
        Bundle extras = getIntent().getExtras();
        if (extras != null) {
            this.mNextActivityIntent = (Intent) extras.get(EXTRA_NEXT_ACTIVITY_INTENT);
        }
    }

    @Override
    protected void onResume() {
        super.onResume();
        disableUserRestrictions();
    }

    @Override
    protected void onPause() {
        super.onPause();
        restoreUserRestrictions();
    }

    private void addAccount(String str) {
        AccountManager accountManager = AccountManager.get(this);
        Bundle bundle = new Bundle();
        if (!TextUtils.isEmpty(str)) {
            bundle.putString("authAccount", str);
        }
        accountManager.addAccount(GOOGLE_ACCOUNT_TYPE, null, null, bundle, this, new AccountManagerCallback() {
            @Override
            public final void run(AccountManagerFuture accountManagerFuture) {
                AddAccountActivity.this.m56lambda$addAccount$1$comusera4keygenAddAccountActivity(accountManagerFuture);
            }
        }, null);
    }

    public void m56lambda$addAccount$1$comusera4keygenAddAccountActivity(AccountManagerFuture accountManagerFuture) {
        try {
            final Bundle bundle = (Bundle) accountManagerFuture.getResult();
            waitForForeground(new Runnable() {
                @Override
                public final void run() {
                    AddAccountActivity.this.m55lambda$addAccount$0$comusera4keygenAddAccountActivity(bundle);
                }
            }, 1000L);
        } catch (AuthenticatorException | OperationCanceledException | IOException e) {
            Log.e(TAG, "addAccount - failed", e);
            Toast.makeText(this, R.string.fail_to_add_account, 1).show();
        }
    }

    private void waitForForeground(final Runnable runnable, final long j) {
        if (j <= 0) {
            throw new RuntimeException("Timed out waiting for foreground.");
        }
        if (ProcessLifecycleOwner.get().getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.STARTED)) {
            runnable.run();
        } else {
            new Handler().postDelayed(new Runnable() {
                @Override
                public final void run() {
                    AddAccountActivity.this.m58lambda$waitForForeground$2$comusera4keygenAddAccountActivity(runnable, j);
                }
            }, WAIT_FOR_FOREGROUND_DELAY_MS);
        }
    }

    public void m58lambda$waitForForeground$2$comusera4keygenAddAccountActivity(Runnable runnable, long j) {
        waitForForeground(runnable, j - WAIT_FOR_FOREGROUND_DELAY_MS);
    }

    public void m55lambda$addAccount$0$comusera4keygenAddAccountActivity(Bundle bundle) {
        String string = bundle.getString("authAccount");
        Log.d(TAG, "addAccount - accountNameAdded: " + string);
        Intent intent = this.mNextActivityIntent;
        if (intent != null) {
            startActivity(intent);
        }
        Intent intent2 = new Intent();
        intent2.putExtra("android.app.extra.PROVISIONING_ACCOUNT_TO_MIGRATE", new Account(string, GOOGLE_ACCOUNT_TYPE));
        setResult(-1, intent2);
        finish();
    }

    private void disableUserRestrictions() {
        if (Util.SDK_INT >= 24) {
            Log.v(TAG, "skip disabling user restriction on N or above");
            return;
        }
        Log.v(TAG, "disabling user restrictions");
        this.mDisallowModifyAccounts = this.mUserManager.hasUserRestriction("no_modify_accounts");
        this.mDevicePolicyManager.clearUserRestriction(this.mAdminComponentName, "no_modify_accounts");
    }

    private void restoreUserRestrictions() {
        if (Util.SDK_INT >= 24) {
            Log.v(TAG, "skip restoring user restrictions on N or above");
            return;
        }
        Log.v(TAG, "restoring user restrictions");
        if (this.mDisallowModifyAccounts) {
            this.mDevicePolicyManager.addUserRestriction(this.mAdminComponentName, "no_modify_accounts");
        }
    }

    public void onNavigateNext(View view) {
        switch (((RadioGroup) findViewById(R.id.add_account_options)).getCheckedRadioButtonId()) {
            case R.id.add_account:
                addAccount(null);
                break;
            case R.id.add_account_skip:
                Intent intent = this.mNextActivityIntent;
                if (intent != null) {
                    startActivity(intent);
                }
                finish();
                break;
            case R.id.add_account_with_name:
                final View inflate = getLayoutInflater().inflate(R.layout.simple_edittext, (ViewGroup) null);
                new AlertDialog.Builder(this).setTitle(R.string.add_account_dialog_title).setView(inflate).setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
                    @Override
                    public final void onClick(DialogInterface dialogInterface, int i) {
                        AddAccountActivity.this.m57lambda$onNavigateNext$3$comusera4keygenAddAccountActivity(inflate, dialogInterface, i);
                    }
                }).show();
                break;
        }
    }

    public void m57lambda$onNavigateNext$3$comusera4keygenAddAccountActivity(View view, DialogInterface dialogInterface, int i) {
        addAccount(((EditText) view.findViewById(R.id.input)).getText().toString());
    }
}