diff --git a/src/org/fdroid/fdroid/AppDetails.java b/src/org/fdroid/fdroid/AppDetails.java index ab0d812e2..96e82b6bf 100644 --- a/src/org/fdroid/fdroid/AppDetails.java +++ b/src/org/fdroid/fdroid/AppDetails.java @@ -96,7 +96,7 @@ public class AppDetails extends ListActivity { TextView nativecode; } - // observer to update view when package has been installed/removed + // observer to update view when package has been installed/deleted AppObserver myAppObserver; class AppObserver extends ContentObserver { public AppObserver(Handler handler) { diff --git a/src/org/fdroid/fdroid/installer/DefaultInstaller.java b/src/org/fdroid/fdroid/installer/DefaultInstaller.java index 31d288f64..3f7447341 100644 --- a/src/org/fdroid/fdroid/installer/DefaultInstaller.java +++ b/src/org/fdroid/fdroid/installer/DefaultInstaller.java @@ -31,7 +31,7 @@ import android.content.pm.PackageManager.NameNotFoundException; import android.net.Uri; /** - * For Android < 4 Default Installer using the public PackageManager API of + * For Android < 4: Default Installer using the public PackageManager API of * Android to install/delete packages. This starts a Activity from the Android * OS showing all permissions/changed permissions. The the user needs to * manually press an install button, this Installer cannot be used for diff --git a/src/org/fdroid/fdroid/installer/DefaultInstallerSdk14.java b/src/org/fdroid/fdroid/installer/DefaultInstallerSdk14.java index d5761725b..deeb97125 100644 --- a/src/org/fdroid/fdroid/installer/DefaultInstallerSdk14.java +++ b/src/org/fdroid/fdroid/installer/DefaultInstallerSdk14.java @@ -33,7 +33,7 @@ import android.net.Uri; import android.os.Build; /** - * For Android >= 4.0 Default Installer using the public PackageManager API of + * For Android >= 4.0: Default Installer using the public PackageManager API of * Android to install/delete packages. This starts a Activity from the Android * OS showing all permissions/changed permissions. The the user needs to * manually press an install button, this Installer cannot be used for @@ -95,11 +95,6 @@ public class DefaultInstallerSdk14 extends Installer { @Override public boolean handleOnActivityResult(int requestCode, int resultCode, Intent data) { - /** - * resultCode is always 0 on Android < 4.0. See - * com.android.packageinstaller.PackageInstallerActivity: setResult is - * never executed! - */ switch (requestCode) { case REQUEST_CODE_INSTALL: if (resultCode == Activity.RESULT_OK) { diff --git a/src/org/fdroid/fdroid/installer/RootInstaller.java b/src/org/fdroid/fdroid/installer/RootInstaller.java index 0d7a6bfdc..a00a50d59 100644 --- a/src/org/fdroid/fdroid/installer/RootInstaller.java +++ b/src/org/fdroid/fdroid/installer/RootInstaller.java @@ -75,7 +75,8 @@ public class RootInstaller extends Installer { } @Override - public void installPackageInternal(final List apkFiles) throws AndroidNotCompatibleException { + public void installPackageInternal(final List apkFiles) + throws AndroidNotCompatibleException { rootSession = createShellBuilder().open(new Shell.OnCommandResultListener() { // Callback to report whether the shell was successfully @@ -98,7 +99,8 @@ public class RootInstaller extends Installer { } @Override - public void deletePackageInternal(final String packageName) throws AndroidNotCompatibleException { + public void deletePackageInternal(final String packageName) + throws AndroidNotCompatibleException { rootSession = createShellBuilder().open(new Shell.OnCommandResultListener() { // Callback to report whether the shell was successfully @@ -127,6 +129,24 @@ public class RootInstaller extends Installer { return false; } + private void addInstallCommand(File apkFile) { + rootSession.addCommand("pm install -r " + apkFile.getAbsolutePath(), 0, + new Shell.OnCommandResultListener() { + public void onCommandResult(int commandCode, int exitCode, List output) { + // close su shell + rootSession.close(); + + if (exitCode < 0) { + Log.e(TAG, "Install failed with exit code " + exitCode); + mCallback.onError(InstallerCallback.OPERATION_INSTALL, + InstallerCallback.ERROR_CODE_OTHER); + } else { + mCallback.onSuccess(InstallerCallback.OPERATION_INSTALL); + } + } + }); + } + private void addInstallCommand(List apkFiles) { ArrayList commands = new ArrayList(); String pm = "pm install -r "; @@ -153,24 +173,6 @@ public class RootInstaller extends Installer { } - private void addInstallCommand(File apkFile) { - rootSession.addCommand("pm install -r " + apkFile.getAbsolutePath(), 0, - new Shell.OnCommandResultListener() { - public void onCommandResult(int commandCode, int exitCode, List output) { - // close su shell - rootSession.close(); - - if (exitCode < 0) { - Log.e(TAG, "Install failed with exit code " + exitCode); - mCallback.onError(InstallerCallback.OPERATION_INSTALL, - InstallerCallback.ERROR_CODE_OTHER); - } else { - mCallback.onSuccess(InstallerCallback.OPERATION_INSTALL); - } - } - }); - } - private void addDeleteCommand(String packageName) { rootSession.addCommand("pm uninstall " + packageName, 0, new Shell.OnCommandResultListener() {