From f860257826b833e05777a5286c9714cb44f6473f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Mon, 30 May 2016 18:50:15 +0200 Subject: [PATCH] Fix pmd errors and code style --- .../installer/ApkSignatureVerifier.java | 12 +-- .../fdroid/installer/DefaultInstaller.java | 10 +-- .../installer/DefaultInstallerActivity.java | 50 +++++------ .../fdroid/installer/ExtensionInstaller.java | 12 +-- .../installer/InstallManagerService.java | 3 +- .../fdroid/fdroid/installer/Installer.java | 18 ++-- .../fdroid/installer/InstallerService.java | 6 +- .../fdroid/installer/PrivilegedInstaller.java | 14 ++-- .../InstallExtensionDialogActivity.java | 7 +- .../views/InstallConfirmActivity.java | 83 +++++++++---------- .../views/swap/SwapWorkflowActivity.java | 4 +- 11 files changed, 102 insertions(+), 117 deletions(-) diff --git a/app/src/main/java/org/fdroid/fdroid/installer/ApkSignatureVerifier.java b/app/src/main/java/org/fdroid/fdroid/installer/ApkSignatureVerifier.java index 27b6aeb3f..50af70798 100644 --- a/app/src/main/java/org/fdroid/fdroid/installer/ApkSignatureVerifier.java +++ b/app/src/main/java/org/fdroid/fdroid/installer/ApkSignatureVerifier.java @@ -42,12 +42,12 @@ public class ApkSignatureVerifier { private static final String TAG = "ApkSignatureVerifier"; - private final Context mContext; - private final PackageManager mPm; + private final Context context; + private final PackageManager pm; ApkSignatureVerifier(Context context) { - mContext = context; - mPm = context.getPackageManager(); + this.context = context; + pm = context.getPackageManager(); } public boolean hasFDroidSignature(File apkFile) { @@ -66,7 +66,7 @@ public class ApkSignatureVerifier { private byte[] getApkSignature(File apkFile) { final String pkgPath = apkFile.getAbsolutePath(); - PackageInfo pkgInfo = mPm.getPackageArchiveInfo(pkgPath, PackageManager.GET_SIGNATURES); + PackageInfo pkgInfo = pm.getPackageArchiveInfo(pkgPath, PackageManager.GET_SIGNATURES); return signatureToBytes(pkgInfo.signatures); } @@ -74,7 +74,7 @@ public class ApkSignatureVerifier { try { // we do check the byte array of *all* signatures @SuppressLint("PackageManagerGetSignatures") - PackageInfo pkgInfo = mPm.getPackageInfo(mContext.getPackageName(), + PackageInfo pkgInfo = pm.getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES); return signatureToBytes(pkgInfo.signatures); } catch (PackageManager.NameNotFoundException e) { diff --git a/app/src/main/java/org/fdroid/fdroid/installer/DefaultInstaller.java b/app/src/main/java/org/fdroid/fdroid/installer/DefaultInstaller.java index 169c2a07c..52bf12d49 100644 --- a/app/src/main/java/org/fdroid/fdroid/installer/DefaultInstaller.java +++ b/app/src/main/java/org/fdroid/fdroid/installer/DefaultInstaller.java @@ -45,7 +45,7 @@ public class DefaultInstaller extends Installer { Uri sanitizedUri; try { - sanitizedUri = Installer.prepareApkFile(mContext, uri, packageName); + sanitizedUri = Installer.prepareApkFile(context, uri, packageName); } catch (Installer.InstallFailedException e) { Log.e(TAG, "prepareApkFile failed", e); sendBroadcastInstall(uri, originatingUri, Installer.ACTION_INSTALL_INTERRUPTED, @@ -53,13 +53,13 @@ public class DefaultInstaller extends Installer { return; } - Intent installIntent = new Intent(mContext, DefaultInstallerActivity.class); + Intent installIntent = new Intent(context, DefaultInstallerActivity.class); installIntent.setAction(DefaultInstallerActivity.ACTION_INSTALL_PACKAGE); installIntent.putExtra(DefaultInstallerActivity.EXTRA_ORIGINATING_URI, originatingUri); installIntent.setData(sanitizedUri); PendingIntent installPendingIntent = PendingIntent.getActivity( - mContext.getApplicationContext(), + context.getApplicationContext(), uri.hashCode(), installIntent, PendingIntent.FLAG_UPDATE_CURRENT); @@ -72,12 +72,12 @@ public class DefaultInstaller extends Installer { protected void uninstallPackage(String packageName) { sendBroadcastUninstall(packageName, Installer.ACTION_UNINSTALL_STARTED); - Intent uninstallIntent = new Intent(mContext, DefaultInstallerActivity.class); + Intent uninstallIntent = new Intent(context, DefaultInstallerActivity.class); uninstallIntent.setAction(DefaultInstallerActivity.ACTION_UNINSTALL_PACKAGE); uninstallIntent.putExtra( DefaultInstallerActivity.EXTRA_UNINSTALL_PACKAGE_NAME, packageName); PendingIntent uninstallPendingIntent = PendingIntent.getActivity( - mContext.getApplicationContext(), + context.getApplicationContext(), packageName.hashCode(), uninstallIntent, PendingIntent.FLAG_UPDATE_CURRENT); diff --git a/app/src/main/java/org/fdroid/fdroid/installer/DefaultInstallerActivity.java b/app/src/main/java/org/fdroid/fdroid/installer/DefaultInstallerActivity.java index eb5e1ccb5..487b6d299 100644 --- a/app/src/main/java/org/fdroid/fdroid/installer/DefaultInstallerActivity.java +++ b/app/src/main/java/org/fdroid/fdroid/installer/DefaultInstallerActivity.java @@ -31,7 +31,6 @@ import android.support.v4.app.FragmentActivity; import android.util.Log; import org.fdroid.fdroid.R; -import org.fdroid.fdroid.Utils; /** * A transparent activity as a wrapper around AOSP's PackageInstaller Intents @@ -48,10 +47,10 @@ public class DefaultInstallerActivity extends FragmentActivity { private static final int REQUEST_CODE_INSTALL = 0; private static final int REQUEST_CODE_UNINSTALL = 1; - private Uri mInstallOriginatingUri; - private Uri mInstallUri; + private Uri installOriginatingUri; + private Uri installUri; - private String mUninstallPackageName; + private String uninstallPackageName; // for the broadcasts private DefaultInstaller installer; @@ -66,17 +65,17 @@ public class DefaultInstallerActivity extends FragmentActivity { String action = intent.getAction(); switch (action) { case ACTION_INSTALL_PACKAGE: { - mInstallUri = intent.getData(); - mInstallOriginatingUri = intent.getParcelableExtra(EXTRA_ORIGINATING_URI); + installUri = intent.getData(); + installOriginatingUri = intent.getParcelableExtra(EXTRA_ORIGINATING_URI); - installPackage(mInstallUri, mInstallOriginatingUri); + installPackage(installUri, installOriginatingUri); break; } case ACTION_UNINSTALL_PACKAGE: { - mUninstallPackageName = intent.getStringExtra(EXTRA_UNINSTALL_PACKAGE_NAME); + uninstallPackageName = intent.getStringExtra(EXTRA_UNINSTALL_PACKAGE_NAME); - uninstallPackage(mUninstallPackageName); + uninstallPackage(uninstallPackageName); break; } default: { @@ -87,8 +86,6 @@ public class DefaultInstallerActivity extends FragmentActivity { @SuppressLint("InlinedApi") private void installPackage(Uri uri, Uri originatingUri) { - Utils.debugLog(TAG, "Installing from " + uri); - if (uri == null) { throw new RuntimeException("Set the data uri to point to an apk location!"); } @@ -135,13 +132,11 @@ public class DefaultInstallerActivity extends FragmentActivity { "This Android rom does not support ACTION_INSTALL_PACKAGE!"); finish(); } - installer.sendBroadcastInstall(mInstallUri, mInstallOriginatingUri, + installer.sendBroadcastInstall(installUri, installOriginatingUri, Installer.ACTION_INSTALL_STARTED); } protected void uninstallPackage(String packageName) { - Intent intent = new Intent(); - // check that the package is installed try { getPackageManager().getPackageInfo(packageName, 0); @@ -154,6 +149,7 @@ public class DefaultInstallerActivity extends FragmentActivity { } Uri uri = Uri.fromParts("package", packageName, null); + Intent intent = new Intent(); intent.setData(uri); if (Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH) { @@ -183,33 +179,33 @@ public class DefaultInstallerActivity extends FragmentActivity { * never executed on Androids < 4.0 */ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH) { - installer.sendBroadcastInstall(mInstallUri, mInstallOriginatingUri, + installer.sendBroadcastInstall(installUri, installOriginatingUri, Installer.ACTION_INSTALL_COMPLETE); break; } // Fallback on N for https://gitlab.com/fdroid/fdroidclient/issues/631 if ("N".equals(Build.VERSION.CODENAME)) { - installer.sendBroadcastInstall(mInstallUri, mInstallOriginatingUri, + installer.sendBroadcastInstall(installUri, installOriginatingUri, Installer.ACTION_INSTALL_COMPLETE); break; } switch (resultCode) { case Activity.RESULT_OK: { - installer.sendBroadcastInstall(mInstallUri, mInstallOriginatingUri, + installer.sendBroadcastInstall(installUri, installOriginatingUri, Installer.ACTION_INSTALL_COMPLETE); break; } case Activity.RESULT_CANCELED: { - installer.sendBroadcastInstall(mInstallUri, mInstallOriginatingUri, + installer.sendBroadcastInstall(installUri, installOriginatingUri, Installer.ACTION_INSTALL_INTERRUPTED); break; } - default: - case Activity.RESULT_FIRST_USER: { + case Activity.RESULT_FIRST_USER: + default: { // AOSP returns Activity.RESULT_FIRST_USER on error - installer.sendBroadcastInstall(mInstallUri, mInstallOriginatingUri, + installer.sendBroadcastInstall(installUri, installOriginatingUri, Installer.ACTION_INSTALL_INTERRUPTED, getString(R.string.install_error_unknown)); break; @@ -221,26 +217,26 @@ public class DefaultInstallerActivity extends FragmentActivity { case REQUEST_CODE_UNINSTALL: { // resultCode is always 0 on Android < 4.0. if (Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH) { - installer.sendBroadcastUninstall(mUninstallPackageName, + installer.sendBroadcastUninstall(uninstallPackageName, Installer.ACTION_UNINSTALL_COMPLETE); break; } switch (resultCode) { case Activity.RESULT_OK: { - installer.sendBroadcastUninstall(mUninstallPackageName, + installer.sendBroadcastUninstall(uninstallPackageName, Installer.ACTION_UNINSTALL_COMPLETE); break; } case Activity.RESULT_CANCELED: { - installer.sendBroadcastUninstall(mUninstallPackageName, + installer.sendBroadcastUninstall(uninstallPackageName, Installer.ACTION_UNINSTALL_INTERRUPTED); break; } - default: - case Activity.RESULT_FIRST_USER: { + case Activity.RESULT_FIRST_USER: + default: { // AOSP UninstallAppProgress returns RESULT_FIRST_USER on error - installer.sendBroadcastUninstall(mUninstallPackageName, + installer.sendBroadcastUninstall(uninstallPackageName, Installer.ACTION_UNINSTALL_INTERRUPTED, getString(R.string.uninstall_error_unknown)); break; diff --git a/app/src/main/java/org/fdroid/fdroid/installer/ExtensionInstaller.java b/app/src/main/java/org/fdroid/fdroid/installer/ExtensionInstaller.java index 8782085bf..a53a205d8 100644 --- a/app/src/main/java/org/fdroid/fdroid/installer/ExtensionInstaller.java +++ b/app/src/main/java/org/fdroid/fdroid/installer/ExtensionInstaller.java @@ -45,7 +45,7 @@ public class ExtensionInstaller extends Installer { protected void installPackage(Uri uri, Uri originatingUri, String packageName) { Uri sanitizedUri; try { - sanitizedUri = Installer.prepareApkFile(mContext, uri, packageName); + sanitizedUri = Installer.prepareApkFile(context, uri, packageName); } catch (InstallFailedException e) { Log.e(TAG, "prepareApkFile failed", e); sendBroadcastInstall(uri, originatingUri, Installer.ACTION_INSTALL_INTERRUPTED, @@ -55,17 +55,17 @@ public class ExtensionInstaller extends Installer { // extension must be signed with the same public key as main F-Droid // NOTE: Disabled for debug builds to be able to use official extension from repo - ApkSignatureVerifier signatureVerifier = new ApkSignatureVerifier(mContext); + ApkSignatureVerifier signatureVerifier = new ApkSignatureVerifier(context); if (!BuildConfig.DEBUG && !signatureVerifier.hasFDroidSignature(new File(sanitizedUri.getPath()))) { sendBroadcastInstall(uri, originatingUri, Installer.ACTION_INSTALL_INTERRUPTED, "APK signature of extension not correct!"); } - Intent installIntent = new Intent(mContext, InstallExtensionDialogActivity.class); + Intent installIntent = new Intent(context, InstallExtensionDialogActivity.class); installIntent.setAction(InstallExtensionDialogActivity.ACTION_INSTALL); installIntent.setData(sanitizedUri); PendingIntent installPendingIntent = PendingIntent.getActivity( - mContext.getApplicationContext(), + context.getApplicationContext(), uri.hashCode(), installIntent, PendingIntent.FLAG_UPDATE_CURRENT); @@ -81,11 +81,11 @@ public class ExtensionInstaller extends Installer { protected void uninstallPackage(String packageName) { sendBroadcastUninstall(packageName, Installer.ACTION_UNINSTALL_STARTED); - Intent uninstallIntent = new Intent(mContext, InstallExtensionDialogActivity.class); + Intent uninstallIntent = new Intent(context, InstallExtensionDialogActivity.class); uninstallIntent.setAction(InstallExtensionDialogActivity.ACTION_UNINSTALL); PendingIntent uninstallPendingIntent = PendingIntent.getActivity( - mContext.getApplicationContext(), + context.getApplicationContext(), packageName.hashCode(), uninstallIntent, PendingIntent.FLAG_UPDATE_CURRENT); diff --git a/app/src/main/java/org/fdroid/fdroid/installer/InstallManagerService.java b/app/src/main/java/org/fdroid/fdroid/installer/InstallManagerService.java index 8dcaa8001..41fee0a2d 100644 --- a/app/src/main/java/org/fdroid/fdroid/installer/InstallManagerService.java +++ b/app/src/main/java/org/fdroid/fdroid/installer/InstallManagerService.java @@ -340,8 +340,7 @@ public class InstallManagerService extends Service { } private String getAppName(Apk apk) { - App app = ACTIVE_APPS.get(apk.packageName); - return app.name; + return ACTIVE_APPS.get(apk.packageName).name; } /** diff --git a/app/src/main/java/org/fdroid/fdroid/installer/Installer.java b/app/src/main/java/org/fdroid/fdroid/installer/Installer.java index ca5ae3dbb..23276f5cc 100644 --- a/app/src/main/java/org/fdroid/fdroid/installer/Installer.java +++ b/app/src/main/java/org/fdroid/fdroid/installer/Installer.java @@ -46,9 +46,9 @@ import java.security.NoSuchAlgorithmException; import java.util.Map; public abstract class Installer { - final Context mContext; - final PackageManager mPm; - private LocalBroadcastManager localBroadcastManager; + final Context context; + final PackageManager pm; + final LocalBroadcastManager localBroadcastManager; public static final String ACTION_INSTALL_STARTED = "org.fdroid.fdroid.installer.Installer.action.INSTALL_STARTED"; public static final String ACTION_INSTALL_COMPLETE = "org.fdroid.fdroid.installer.Installer.action.INSTALL_COMPLETE"; @@ -83,8 +83,8 @@ public abstract class Installer { } Installer(Context context) { - this.mContext = context; - this.mPm = context.getPackageManager(); + this.context = context; + this.pm = context.getPackageManager(); localBroadcastManager = LocalBroadcastManager.getInstance(context); } @@ -163,7 +163,7 @@ public abstract class Installer { int count = newPermissionCount(apk); if (count > 0) { Uri uri = ApkProvider.getContentUri(apk); - Intent intent = new Intent(mContext, InstallConfirmActivity.class); + Intent intent = new Intent(context, InstallConfirmActivity.class); intent.setData(uri); return intent; @@ -181,12 +181,12 @@ public abstract class Installer { // return 0; //} - AppDiff appDiff = new AppDiff(mContext.getPackageManager(), apk); + AppDiff appDiff = new AppDiff(context.getPackageManager(), apk); if (appDiff.mPkgInfo == null) { // could not get diff because we couldn't parse the package throw new RuntimeException("cannot parse!"); } - AppSecurityPermissions perms = new AppSecurityPermissions(mContext, appDiff.mPkgInfo); + AppSecurityPermissions perms = new AppSecurityPermissions(context, appDiff.mPkgInfo); if (appDiff.mInstalledAppInfo != null) { // update to an existing app return perms.getPermissionCount(AppSecurityPermissions.WHICH_NEW); @@ -200,7 +200,7 @@ public abstract class Installer { return null; } - Intent intent = new Intent(mContext, UninstallDialogActivity.class); + Intent intent = new Intent(context, UninstallDialogActivity.class); intent.putExtra(Installer.EXTRA_PACKAGE_NAME, packageName); return intent; diff --git a/app/src/main/java/org/fdroid/fdroid/installer/InstallerService.java b/app/src/main/java/org/fdroid/fdroid/installer/InstallerService.java index 5e8fa5652..323f2de94 100644 --- a/app/src/main/java/org/fdroid/fdroid/installer/InstallerService.java +++ b/app/src/main/java/org/fdroid/fdroid/installer/InstallerService.java @@ -28,7 +28,6 @@ import android.os.IBinder; import android.os.Looper; import android.os.Message; import android.os.Process; -import android.support.v4.content.LocalBroadcastManager; import android.util.Log; import org.fdroid.fdroid.Utils; @@ -44,8 +43,6 @@ public class InstallerService extends Service { private volatile Looper serviceLooper; private static volatile ServiceHandler serviceHandler; - private LocalBroadcastManager localBroadcastManager; - private Installer installer; private final class ServiceHandler extends Handler { ServiceHandler(Looper looper) { @@ -70,7 +67,6 @@ public class InstallerService extends Service { serviceLooper = thread.getLooper(); serviceHandler = new ServiceHandler(serviceLooper); - localBroadcastManager = LocalBroadcastManager.getInstance(this); } @Override @@ -118,7 +114,7 @@ public class InstallerService extends Service { protected void handleIntent(Intent intent) { String packageName = intent.getStringExtra(Installer.EXTRA_PACKAGE_NAME); - installer = InstallerFactory.create(this, packageName); + Installer installer = InstallerFactory.create(this, packageName); switch (intent.getAction()) { case ACTION_INSTALL: { diff --git a/app/src/main/java/org/fdroid/fdroid/installer/PrivilegedInstaller.java b/app/src/main/java/org/fdroid/fdroid/installer/PrivilegedInstaller.java index fc7bee753..b1a3143d2 100644 --- a/app/src/main/java/org/fdroid/fdroid/installer/PrivilegedInstaller.java +++ b/app/src/main/java/org/fdroid/fdroid/installer/PrivilegedInstaller.java @@ -326,7 +326,7 @@ public class PrivilegedInstaller extends Installer { final Uri sanitizedUri; try { - sanitizedUri = Installer.prepareApkFile(mContext, uri, packageName); + sanitizedUri = Installer.prepareApkFile(context, uri, packageName); } catch (Installer.InstallFailedException e) { Log.e(TAG, "prepareApkFile failed", e); sendBroadcastInstall(uri, originatingUri, Installer.ACTION_INSTALL_INTERRUPTED, @@ -367,7 +367,7 @@ public class PrivilegedInstaller extends Installer { Intent serviceIntent = new Intent(PRIVILEGED_EXTENSION_SERVICE_INTENT); serviceIntent.setPackage(PRIVILEGED_EXTENSION_PACKAGE_NAME); - mContext.getApplicationContext().bindService(serviceIntent, mServiceConnection, + context.getApplicationContext().bindService(serviceIntent, mServiceConnection, Context.BIND_AUTO_CREATE); } @@ -378,7 +378,7 @@ public class PrivilegedInstaller extends Installer { ApplicationInfo appInfo; try { //noinspection WrongConstant (lint is actually wrong here!) - appInfo = mPm.getApplicationInfo(packageName, PackageManager.GET_UNINSTALLED_PACKAGES); + appInfo = pm.getApplicationInfo(packageName, PackageManager.GET_UNINSTALLED_PACKAGES); } catch (PackageManager.NameNotFoundException e) { Log.w(TAG, "Failed to get ApplicationInfo for uninstalling"); return; @@ -402,9 +402,9 @@ public class PrivilegedInstaller extends Installer { } // TODO: move this to methods in activity/ Installer with activity context! - final AlertDialog.Builder builder = new AlertDialog.Builder(mContext); - builder.setTitle(appInfo.loadLabel(mPm)); - builder.setIcon(appInfo.loadIcon(mPm)); + final AlertDialog.Builder builder = new AlertDialog.Builder(context); + builder.setTitle(appInfo.loadLabel(pm)); + builder.setIcon(appInfo.loadIcon(pm)); builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { @Override @@ -463,7 +463,7 @@ public class PrivilegedInstaller extends Installer { Intent serviceIntent = new Intent(PRIVILEGED_EXTENSION_SERVICE_INTENT); serviceIntent.setPackage(PRIVILEGED_EXTENSION_PACKAGE_NAME); - mContext.getApplicationContext().bindService(serviceIntent, mServiceConnection, + context.getApplicationContext().bindService(serviceIntent, mServiceConnection, Context.BIND_AUTO_CREATE); } diff --git a/app/src/main/java/org/fdroid/fdroid/privileged/install/InstallExtensionDialogActivity.java b/app/src/main/java/org/fdroid/fdroid/privileged/install/InstallExtensionDialogActivity.java index fcecc45ec..26b312455 100644 --- a/app/src/main/java/org/fdroid/fdroid/privileged/install/InstallExtensionDialogActivity.java +++ b/app/src/main/java/org/fdroid/fdroid/privileged/install/InstallExtensionDialogActivity.java @@ -60,7 +60,7 @@ public class InstallExtensionDialogActivity extends FragmentActivity { public static final String ACTION_POST_INSTALL = "post_install"; public static final String ACTION_FIRST_TIME = "first_time"; - private String apkFile; + private String apkPath; @Override protected void onCreate(Bundle savedInstanceState) { @@ -74,7 +74,8 @@ public class InstallExtensionDialogActivity extends FragmentActivity { return; } - apkFile = (new File(getIntent().getData().getPath())).getAbsolutePath(); + File apkFile = new File(getIntent().getData().getPath()); + apkPath = apkFile.getAbsolutePath(); switch (getIntent().getAction()) { case ACTION_UNINSTALL: @@ -335,7 +336,7 @@ public class InstallExtensionDialogActivity extends FragmentActivity { @Override protected Void doInBackground(Void... voids) { - InstallExtension.create(getApplicationContext()).runInstall(apkFile); + InstallExtension.create(getApplicationContext()).runInstall(apkPath); return null; } }; diff --git a/app/src/main/java/org/fdroid/fdroid/privileged/views/InstallConfirmActivity.java b/app/src/main/java/org/fdroid/fdroid/privileged/views/InstallConfirmActivity.java index 3d983633b..e6a45238b 100644 --- a/app/src/main/java/org/fdroid/fdroid/privileged/views/InstallConfirmActivity.java +++ b/app/src/main/java/org/fdroid/fdroid/privileged/views/InstallConfirmActivity.java @@ -23,7 +23,6 @@ import android.content.DialogInterface; import android.content.DialogInterface.OnCancelListener; import android.content.Intent; import android.content.pm.ApplicationInfo; -import android.content.pm.PackageManager; import android.graphics.Bitmap; import android.net.Uri; import android.os.Bundle; @@ -60,17 +59,15 @@ public class InstallConfirmActivity extends FragmentActivity implements OnCancel private Intent intent; - private PackageManager mPm; - - private AppDiff mAppDiff; + private AppDiff appDiff; // View for install progress - private View mInstallConfirm; + private View installConfirm; // Buttons to indicate user acceptance - private Button mOk; - private Button mCancel; - private CaffeinatedScrollView mScrollView; - private boolean mOkCanInstall; + private Button okButton; + private Button cancelButton; + private CaffeinatedScrollView scrollView; + private boolean okCanInstall; private static final String TAB_ID_ALL = "all"; private static final String TAB_ID_NEW = "new"; @@ -106,27 +103,27 @@ public class InstallConfirmActivity extends FragmentActivity implements OnCancel }); boolean permVisible = false; - mScrollView = null; - mOkCanInstall = false; + scrollView = null; + okCanInstall = false; int msg = 0; - AppSecurityPermissions perms = new AppSecurityPermissions(this, mAppDiff.mPkgInfo); - if (mAppDiff.mInstalledAppInfo != null) { - msg = (mAppDiff.mInstalledAppInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0 + AppSecurityPermissions perms = new AppSecurityPermissions(this, appDiff.mPkgInfo); + if (appDiff.mInstalledAppInfo != null) { + msg = (appDiff.mInstalledAppInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0 ? R.string.install_confirm_update_system : R.string.install_confirm_update; - mScrollView = new CaffeinatedScrollView(this); - mScrollView.setFillViewport(true); + scrollView = new CaffeinatedScrollView(this); + scrollView.setFillViewport(true); final boolean newPermissionsFound = perms.getPermissionCount(AppSecurityPermissions.WHICH_NEW) > 0; if (newPermissionsFound) { permVisible = true; - mScrollView.addView(perms.getPermissionsView( + scrollView.addView(perms.getPermissionsView( AppSecurityPermissions.WHICH_NEW)); } else { throw new RuntimeException("This should not happen. No new permissions were found but InstallConfirmActivity has been started!"); } adapter.addTab(tabHost.newTabSpec(TAB_ID_NEW).setIndicator( - getText(R.string.newPerms)), mScrollView); + getText(R.string.newPerms)), scrollView); } else { findViewById(R.id.tabscontainer).setVisibility(View.GONE); findViewById(R.id.divider).setVisibility(View.VISIBLE); @@ -137,8 +134,8 @@ public class InstallConfirmActivity extends FragmentActivity implements OnCancel LayoutInflater inflater = (LayoutInflater) getSystemService( Context.LAYOUT_INFLATER_SERVICE); View root = inflater.inflate(R.layout.permissions_list, null); - if (mScrollView == null) { - mScrollView = (CaffeinatedScrollView) root.findViewById(R.id.scrollview); + if (scrollView == null) { + scrollView = (CaffeinatedScrollView) root.findViewById(R.id.scrollview); } final ViewGroup permList = (ViewGroup) root.findViewById(R.id.permission_list); permList.addView(perms.getPermissionsView(AppSecurityPermissions.WHICH_ALL)); @@ -147,10 +144,10 @@ public class InstallConfirmActivity extends FragmentActivity implements OnCancel } if (!permVisible) { - if (mAppDiff.mInstalledAppInfo != null) { + if (appDiff.mInstalledAppInfo != null) { // This is an update to an application, but there are no // permissions at all. - msg = (mAppDiff.mInstalledAppInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0 + msg = (appDiff.mInstalledAppInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0 ? R.string.install_confirm_update_system_no_perms : R.string.install_confirm_update_no_perms; } else { @@ -160,27 +157,27 @@ public class InstallConfirmActivity extends FragmentActivity implements OnCancel tabHost.setVisibility(View.GONE); findViewById(R.id.filler).setVisibility(View.VISIBLE); findViewById(R.id.divider).setVisibility(View.GONE); - mScrollView = null; + scrollView = null; } if (msg != 0) { ((TextView) findViewById(R.id.install_confirm)).setText(msg); } - mInstallConfirm.setVisibility(View.VISIBLE); - mOk = (Button) findViewById(R.id.ok_button); - mCancel = (Button) findViewById(R.id.cancel_button); - mOk.setOnClickListener(this); - mCancel.setOnClickListener(this); - if (mScrollView == null) { + installConfirm.setVisibility(View.VISIBLE); + okButton = (Button) findViewById(R.id.ok_button); + cancelButton = (Button) findViewById(R.id.cancel_button); + okButton.setOnClickListener(this); + cancelButton.setOnClickListener(this); + if (scrollView == null) { // There is nothing to scroll view, so the ok button is immediately // set to install. - mOk.setText(R.string.menu_install); - mOkCanInstall = true; + okButton.setText(R.string.menu_install); + okCanInstall = true; } else { - mScrollView.setFullScrollAction(new Runnable() { + scrollView.setFullScrollAction(new Runnable() { @Override public void run() { - mOk.setText(R.string.menu_install); - mOkCanInstall = true; + okButton.setText(R.string.menu_install); + okCanInstall = true; } }); } @@ -192,15 +189,13 @@ public class InstallConfirmActivity extends FragmentActivity implements OnCancel ((FDroidApp) getApplication()).applyDialogTheme(this); - mPm = getPackageManager(); - intent = getIntent(); Uri uri = intent.getData(); Apk apk = ApkProvider.Helper.find(this, uri, ApkProvider.DataColumns.ALL); mApp = AppProvider.Helper.findByPackageName(getContentResolver(), apk.packageName); - mAppDiff = new AppDiff(mPm, apk); - if (mAppDiff.mPkgInfo == null) { + appDiff = new AppDiff(getPackageManager(), apk); + if (appDiff.mPkgInfo == null) { setResult(RESULT_CANNOT_PARSE, intent); finish(); } @@ -212,8 +207,8 @@ public class InstallConfirmActivity extends FragmentActivity implements OnCancel getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); - mInstallConfirm = findViewById(R.id.install_confirm_panel); - mInstallConfirm.setVisibility(View.INVISIBLE); + installConfirm = findViewById(R.id.install_confirm_panel); + installConfirm.setVisibility(View.INVISIBLE); startInstallConfirm(); } @@ -224,14 +219,14 @@ public class InstallConfirmActivity extends FragmentActivity implements OnCancel } public void onClick(View v) { - if (v == mOk) { - if (mOkCanInstall || mScrollView == null) { + if (v == okButton) { + if (okCanInstall || scrollView == null) { setResult(RESULT_OK, intent); finish(); } else { - mScrollView.pageScroll(View.FOCUS_DOWN); + scrollView.pageScroll(View.FOCUS_DOWN); } - } else if (v == mCancel) { + } else if (v == cancelButton) { setResult(RESULT_CANCELED, intent); finish(); } diff --git a/app/src/main/java/org/fdroid/fdroid/views/swap/SwapWorkflowActivity.java b/app/src/main/java/org/fdroid/fdroid/views/swap/SwapWorkflowActivity.java index 695b6ce27..4e3ec3c8a 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/swap/SwapWorkflowActivity.java +++ b/app/src/main/java/org/fdroid/fdroid/views/swap/SwapWorkflowActivity.java @@ -38,7 +38,6 @@ import org.fdroid.fdroid.NfcHelper; import org.fdroid.fdroid.Preferences; import org.fdroid.fdroid.R; import org.fdroid.fdroid.Utils; -import org.fdroid.fdroid.compat.PackageManagerCompat; import org.fdroid.fdroid.data.Apk; import org.fdroid.fdroid.data.ApkProvider; import org.fdroid.fdroid.data.App; @@ -122,7 +121,6 @@ public class SwapWorkflowActivity extends AppCompatActivity { private PrepareSwapRepo updateSwappableAppsTask; private NewRepoConfig confirmSwapConfig; private LocalBroadcastManager localBroadcastManager; - private BroadcastReceiver downloadCompleteReceiver; @NonNull private final ServiceConnection serviceConnection = new ServiceConnection() { @@ -776,7 +774,7 @@ public class SwapWorkflowActivity extends AppCompatActivity { public void install(@NonNull final App app) { final Apk apk = ApkProvider.Helper.find(this, app.packageName, app.suggestedVersionCode); String urlString = apk.getUrl(); - downloadCompleteReceiver = new BroadcastReceiver() { + BroadcastReceiver downloadCompleteReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String path = intent.getStringExtra(Downloader.EXTRA_DOWNLOAD_PATH);