Fix pmd errors and code style

This commit is contained in:
Dominik Schürmann 2016-05-30 18:50:15 +02:00
parent d3a7107a0f
commit f860257826
11 changed files with 102 additions and 117 deletions

View File

@ -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) {

View File

@ -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);

View File

@ -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;

View File

@ -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);

View File

@ -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;
}
/**

View File

@ -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;

View File

@ -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: {

View File

@ -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);
}

View File

@ -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;
}
};

View File

@ -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();
}

View File

@ -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);