导航菜单

页面标题

页面副标题

Jurassic World v1.83.4 - RateAppActivity.java 源代码

正在查看: Jurassic World v1.83.4 应用的 RateAppActivity.java JAVA 源代码文件

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


package com.urbanairship.actions;

import android.app.AlertDialog;
import android.content.ActivityNotFoundException;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import com.urbanairship.Autopilot;
import com.urbanairship.Logger;
import com.urbanairship.R;
import com.urbanairship.UAirship;
import com.urbanairship.activity.ThemedActivity;
import com.urbanairship.util.AppStoreUtils;

public class RateAppActivity extends ThemedActivity {
    private AlertDialog dialog;

    @Override
    public final void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Autopilot.automaticTakeOff(getApplication());
        if (UAirship.isTakingOff() || UAirship.isFlying()) {
            return;
        }
        Logger.error("RateAppActivity - unable to create activity, takeOff not called.", new Object[0]);
        finish();
    }

    public void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        Logger.debug("New intent received for rate app activity", new Object[0]);
        restartActivity(intent.getData(), intent.getExtras());
    }

    public void onResume() {
        super.onResume();
        displayDialog();
    }

    public void onPause() {
        super.onPause();
    }

    public void onCloseButtonClick(View view) {
        finish();
    }

    private void displayDialog() {
        AlertDialog alertDialog = this.dialog;
        if (alertDialog == null || !alertDialog.isShowing()) {
            Intent intent = getIntent();
            if (intent == null) {
                Logger.error("RateAppActivity - Started activity with null intent.", new Object[0]);
                finish();
                return;
            }
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            if (intent.getStringExtra("title") != null) {
                builder.setTitle(intent.getStringExtra("title"));
            } else {
                builder.setTitle(getString(R.string.ua_rate_app_action_default_title, getAppName()));
            }
            if (intent.getStringExtra("body") != null) {
                builder.setMessage(intent.getStringExtra("body"));
            } else {
                builder.setMessage(getString(R.string.ua_rate_app_action_default_body, getString(R.string.ua_rate_app_action_default_rate_positive_button)));
            }
            builder.setPositiveButton(getString(R.string.ua_rate_app_action_default_rate_positive_button), new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int id) {
                    try {
                        UAirship shared = UAirship.shared();
                        RateAppActivity.this.startActivity(AppStoreUtils.getAppStoreIntent(this, shared.getPlatformType(), shared.getAirshipConfigOptions()));
                    } catch (ActivityNotFoundException e) {
                        Logger.error(e, "No web browser available to handle request to open the store link.", new Object[0]);
                    }
                    dialog.cancel();
                    RateAppActivity.this.finish();
                }
            });
            builder.setNegativeButton(getString(R.string.ua_rate_app_action_default_rate_negative_button), new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int id) {
                    dialog.cancel();
                    RateAppActivity.this.finish();
                }
            });
            builder.setOnCancelListener(new DialogInterface.OnCancelListener() {
                @Override
                public void onCancel(DialogInterface dialog) {
                    dialog.cancel();
                    RateAppActivity.this.finish();
                }
            });
            AlertDialog create = builder.create();
            this.dialog = create;
            create.setCancelable(true);
            this.dialog.show();
        }
    }

    private void restartActivity(Uri uri, Bundle extras) {
        Logger.debug("Relaunching activity", new Object[0]);
        finish();
        Intent flags = new Intent().setClass(this, getClass()).setData(uri).setFlags(268435456);
        if (extras != null) {
            flags.putExtras(extras);
        }
        startActivity(flags);
    }

    private String getAppName() {
        String packageName = UAirship.getApplicationContext().getPackageName();
        PackageManager packageManager = UAirship.getApplicationContext().getPackageManager();
        try {
            return (String) packageManager.getApplicationLabel(packageManager.getApplicationInfo(packageName, 128));
        } catch (PackageManager.NameNotFoundException unused) {
            return "";
        }
    }
}