Fixes after rebasing.
This commit is contained in:
parent
0551b0d1fc
commit
63cf0742b7
@ -244,7 +244,7 @@ public class TempAppProvider extends AppProvider {
|
|||||||
Schema.ApkAntiFeatureJoinTable.Cols.ALL_COLS,
|
Schema.ApkAntiFeatureJoinTable.Cols.ALL_COLS,
|
||||||
tempAntiFeatureJoin,
|
tempAntiFeatureJoin,
|
||||||
Schema.ApkAntiFeatureJoinTable.NAME,
|
Schema.ApkAntiFeatureJoinTable.NAME,
|
||||||
getAntiFeatureRepoWhere(tempAntiFeatureJoin)));
|
getAntiFeatureRepoWhere(tempAntiFeatureJoin)), repoArgs);
|
||||||
|
|
||||||
db.setTransactionSuccessful();
|
db.setTransactionSuccessful();
|
||||||
|
|
||||||
@ -271,7 +271,7 @@ public class TempAppProvider extends AppProvider {
|
|||||||
String subquery =
|
String subquery =
|
||||||
"SELECT innerApk." + ApkTable.Cols.ROW_ID + " " +
|
"SELECT innerApk." + ApkTable.Cols.ROW_ID + " " +
|
||||||
"FROM " + ApkTable.NAME + " AS innerApk " +
|
"FROM " + ApkTable.NAME + " AS innerApk " +
|
||||||
"WHERE innerApk." + ApkTable.Cols.REPO_ID + " != ?";
|
"WHERE innerApk." + ApkTable.Cols.REPO_ID + " = ?";
|
||||||
|
|
||||||
return antiFeatureTable + "." + Schema.ApkAntiFeatureJoinTable.Cols.APK_ID + " IN (" + subquery + ")";
|
return antiFeatureTable + "." + Schema.ApkAntiFeatureJoinTable.Cols.APK_ID + " IN (" + subquery + ")";
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,7 @@ import android.content.Intent;
|
|||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import android.support.annotation.Nullable;
|
import android.support.annotation.Nullable;
|
||||||
import android.support.v4.content.LocalBroadcastManager;
|
import android.support.v4.content.LocalBroadcastManager;
|
||||||
|
import android.text.TextUtils;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
|
||||||
import org.fdroid.fdroid.AppUpdateStatusManager;
|
import org.fdroid.fdroid.AppUpdateStatusManager;
|
||||||
@ -39,8 +40,7 @@ public class KnownVulnAppListItemController extends AppListItemController {
|
|||||||
String mainText;
|
String mainText;
|
||||||
String actionButtonText;
|
String actionButtonText;
|
||||||
|
|
||||||
// TODO: Take into account signature when multi-sig stuff is merged.
|
if (shouldUpgradeInsteadOfUninstall(app)) {
|
||||||
if (app.installedVersionCode < app.suggestedVersionCode) {
|
|
||||||
mainText = activity.getString(R.string.updates__app_with_known_vulnerability__prompt_upgrade, app.name);
|
mainText = activity.getString(R.string.updates__app_with_known_vulnerability__prompt_upgrade, app.name);
|
||||||
actionButtonText = activity.getString(R.string.menu_upgrade);
|
actionButtonText = activity.getString(R.string.menu_upgrade);
|
||||||
} else {
|
} else {
|
||||||
@ -54,6 +54,11 @@ public class KnownVulnAppListItemController extends AppListItemController {
|
|||||||
.showSecondaryButton(activity.getString(R.string.updates__app_with_known_vulnerability__ignore));
|
.showSecondaryButton(activity.getString(R.string.updates__app_with_known_vulnerability__ignore));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean shouldUpgradeInsteadOfUninstall(@NonNull App app) {
|
||||||
|
return app.installedVersionCode < app.suggestedVersionCode &&
|
||||||
|
TextUtils.equals(app.installedSig, app.getMostAppropriateSignature());
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onActionButtonPressed(@NonNull App app) {
|
protected void onActionButtonPressed(@NonNull App app) {
|
||||||
Apk installedApk = app.getInstalledApk(activity);
|
Apk installedApk = app.getInstalledApk(activity);
|
||||||
@ -62,12 +67,13 @@ public class KnownVulnAppListItemController extends AppListItemController {
|
|||||||
"Tried to upgrade or uninstall app with known vulnerability but it doesn't seem to be installed");
|
"Tried to upgrade or uninstall app with known vulnerability but it doesn't seem to be installed");
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Take into account signature when multi-sig stuff is merged.
|
if (shouldUpgradeInsteadOfUninstall(app)) {
|
||||||
if (app.installedVersionCode < app.suggestedVersionCode) {
|
|
||||||
LocalBroadcastManager manager = LocalBroadcastManager.getInstance(activity);
|
LocalBroadcastManager manager = LocalBroadcastManager.getInstance(activity);
|
||||||
manager.registerReceiver(installReceiver, Installer.getUninstallIntentFilter(app.packageName));
|
manager.registerReceiver(installReceiver, Installer.getUninstallIntentFilter(app.packageName));
|
||||||
InstallerService.uninstall(activity, installedApk);
|
InstallerService.uninstall(activity, installedApk);
|
||||||
} else {
|
} else {
|
||||||
|
LocalBroadcastManager manager = LocalBroadcastManager.getInstance(activity);
|
||||||
|
manager.registerReceiver(installReceiver, Installer.getUninstallIntentFilter(app.packageName));
|
||||||
InstallerService.uninstall(activity, installedApk);
|
InstallerService.uninstall(activity, installedApk);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user