正在查看: Jurassic World v1.83.4 应用的 RateAppActivity.java JAVA 源代码文件
本页面展示 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 "";
}
}
}