Refactor: Using functions/fields instead of classes.

Cleaning up PackageManager.
This commit is contained in:
Samuel Carlsson 2016-08-01 19:42:35 +02:00
parent 7371e0a890
commit 9b8ba8ff52
2 changed files with 20 additions and 48 deletions

View File

@ -79,7 +79,7 @@ public class PackageManager {
} }
public void forceInstall(File apkFile) throws IOException, JadbException { public void forceInstall(File apkFile) throws IOException, JadbException {
installWithOptions(apkFile, Collections.singletonList(new REINSTALL_KEEPING_DATA())); installWithOptions(apkFile, Collections.singletonList(REINSTALL_KEEPING_DATA));
} }
public void uninstall(Package name) throws IOException, JadbException { public void uninstall(Package name) throws IOException, JadbException {
@ -93,7 +93,7 @@ public class PackageManager {
} }
//<editor-fold desc="InstallOptions"> //<editor-fold desc="InstallOptions">
public static abstract class InstallOptions { public static class InstallOptions {
InstallOptions(String ... varargs) { InstallOptions(String ... varargs) {
for(String str: varargs) { for(String str: varargs) {
stringBuilder.append(str).append(" "); stringBuilder.append(str).append(" ");
@ -107,62 +107,34 @@ public class PackageManager {
} }
} }
public static final InstallOptions WITH_FORWARD_LOCK = new InstallOptions("-l");
public static class WITH_FORWARD_LOCK extends InstallOptions { public static final InstallOptions REINSTALL_KEEPING_DATA =
public WITH_FORWARD_LOCK() { new InstallOptions("-r");
super("-l");
} public static final InstallOptions ALLOW_TEST_APK =
new InstallOptions("-t");
public static InstallOptions WITH_INSTALLER_PACKAGE_NAME(String name)
{
return new InstallOptions("-t", name);
} }
public static class REINSTALL_KEEPING_DATA extends InstallOptions { public static InstallOptions ON_SHARED_MASS_STORAGE(String name) {
public REINSTALL_KEEPING_DATA() { return new InstallOptions("-s", name);
super("-r");
}
} }
public static final class ALLOW_TEST_APK extends InstallOptions { public static InstallOptions ON_INTERNAL_SYSTEM_MEMORY(String name) {
public ALLOW_TEST_APK() { return new InstallOptions("-f", name);
super("-t");
}
} }
public static final class WITH_INSTALLER_PACKAGE_NAME extends InstallOptions { public static final InstallOptions ALLOW_VERSION_DOWNGRADE =
public WITH_INSTALLER_PACKAGE_NAME(String name) { new InstallOptions("-d");
super("-t", name);
}
}
public static final class ON_SHARED_MASS_STORAGE extends InstallOptions {
public ON_SHARED_MASS_STORAGE(String name) {
super("-s", name);
}
}
public static final class ON_INTERNAL_SYSTEM_MEMORY extends InstallOptions {
public ON_INTERNAL_SYSTEM_MEMORY(String name) {
super("-f", name);
}
}
public static final class ALLOW_VERSION_DOWNGRADE extends InstallOptions {
public ALLOW_VERSION_DOWNGRADE() {
super("-d");
}
}
/** /**
* This option is sSupported only from Android 6.X+ * This option is sSupported only from Android 6.X+
*/ */
public static final class GRANT_ALL_PERMISSIONS extends InstallOptions { public static final InstallOptions GRANT_ALL_PERMISSIONS = new InstallOptions("-g");
public GRANT_ALL_PERMISSIONS() {
super("-g");
}
}
public static final class CUSTOM_PARAMETER extends InstallOptions {
public CUSTOM_PARAMETER(String ... varargs) {
super(varargs);
}
}
//</editor-fold> //</editor-fold>
} }

View File

@ -57,7 +57,7 @@ public class PackageMangerTests {
@Test @Test
public void testInstallWithOptionsUninstallCycle() throws Exception { public void testInstallWithOptionsUninstallCycle() throws Exception {
pm.install(miniApk); pm.install(miniApk);
pm.installWithOptions(miniApk, Arrays.asList(new PackageManager.REINSTALL_KEEPING_DATA(), new PackageManager.ALLOW_VERSION_DOWNGRADE())); pm.installWithOptions(miniApk, Arrays.asList(PackageManager.REINSTALL_KEEPING_DATA, PackageManager.ALLOW_VERSION_DOWNGRADE));
pm.uninstall(new Package("b.a")); pm.uninstall(new Package("b.a"));
} }
} }