I decompiled the code of an Android app. I'd like to find the portion of code that forces the user to update when a new version is detected. This is, however, complicated due to the significant amount of Java code. I found that Google's in-app updates aren't used, so it must be a custom procedure. In cases like this:
- A modal dialog or activity that fills the entire screen is displayed.
- This dialog should clearly inform the user that an update is mandatory to continue using the app.
- The dialogue must contain a button that directs the user to the Google Play Store via an Intent.
Regarding this last point, I tried searching the source code for "http://play.google" but found no matches. I've tried other strategies, but I cannot find anything significant.
The lines of code containing this information and related instructions obviously exist. Do you have any idea how to detect them?
EDIT
/* access modifiers changed from: private */
public static final void W(UpgradeRequiredFragment, upgradeRequiredFragment, View view) {
Intent intent = new Intent("android.intent.action.VIEW",
Uri.parse("market://details?id=it.positec.landroid"));
intent.setPackage("com.android.vending");
upgradeRequiredFragment.startActivity(intent):
}
EDIT 2
@Metadata(d1 = {"\u0000>\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\b\b\u0007\u0018\u00002\u00020\u0001B\u0007¢\u0006\u0004\b\u0002\u0010\u0003J+\u0010\u000b\u001a\u00020\n2\u0006\u0010\u0005\u001a\u00020\u00042\b\u0010\u0007\u001a\u0004\u0018\u00010\u00062\b\u0010\t\u001a\u0004\u0018\u00010\bH\u0016¢\u0006\u0004\b\u000b\u0010\fJ!\u0010\u000f\u001a\u00020\u000e2\u0006\u0010\r\u001a\u00020\n2\b\u0010\t\u001a\u0004\u0018\u00010\bH\u0016¢\u0006\u0004\b\u000f\u0010\u0010R\u0016\u0010\u0014\u001a\u00020\u00118\u0002@\u0002X.¢\u0006\u0006\n\u0004\b\u0012\u0010\u0013R\"\u0010\u001c\u001a\u00020\u00158\u0006@\u0006X.¢\u0006\u0012\n\u0004\b\u0016\u0010\u0017\u001a\u0004\b\u0018\u0010\u0019\"\u0004\b\u001a\u0010\u001b¨\u0006\u001d"}, d2 = {"Lcom/worxlandroid/landroid/features/application/UpgradeRequiredFragment;", "LE5/f;", "<init>", "()V", "Landroid/view/LayoutInflater;", "inflater", "Landroid/view/ViewGroup;", "container", "Landroid/os/Bundle;", "savedInstanceState", "Landroid/view/View;", "onCreateView", "(Landroid/view/LayoutInflater;Landroid/view/ViewGroup;Landroid/os/Bundle;)Landroid/view/View;", "view", "La7/J;", "onViewCreated", "(Landroid/view/View;Landroid/os/Bundle;)V", "LJ5/P0;", "y", "LJ5/P0;", "binding", "LE5/c1;", "z", "LE5/c1;", "U", "()LE5/c1;", "setToolbarManager", "(LE5/c1;)V", "toolbarManager", "ui_release"}, k = 1, mv = {2, 1, 0}, xi = 48)
public final class UpgradeRequiredFragment extends f {
/* renamed from: y reason: collision with root package name */
private P0 f33619y;
/* renamed from: z reason: collision with root package name */
public c1 f33620z;
/* access modifiers changed from: private */
public static final J V(C2623n0 n0Var) {
C4003t.f(n0Var, "$this$set");
n0Var.e(false);
return J.f32396a;
}
startActivity()call in the end. Depending on how much the app is linked to other apps this call should only be used a few dozen times in the app.UpgradeRequiredFragmentwhich seems to be promising based on it's name.