summaryrefslogtreecommitdiffstats
path: root/cmds
diff options
context:
space:
mode:
authorSteve Kondik <shade@chemlab.org>2011-02-28 19:57:08 -0500
committerSteve Kondik <shade@chemlab.org>2011-02-28 19:57:08 -0500
commit0352af015fa313a1be3deda6956fa4bcd8f50e66 (patch)
tree317badef4730aa39e2a1c9e461e949d8dd8fe533 /cmds
parentf1df5d9d3fc04b6d0e8268102eb3bc9c27937fac (diff)
parent322891c689c845b5aa63dbca606967eb9f8f900b (diff)
downloadframeworks_base-0352af015fa313a1be3deda6956fa4bcd8f50e66.zip
frameworks_base-0352af015fa313a1be3deda6956fa4bcd8f50e66.tar.gz
frameworks_base-0352af015fa313a1be3deda6956fa4bcd8f50e66.tar.bz2
Merge branch 'gingerbread' of git://android.git.kernel.org/platform/frameworks/base into 233-merge
Conflicts: api/current.xml core/java/android/content/pm/PackageParser.java core/java/android/net/ConnectivityManager.java core/java/android/widget/TextView.java core/java/com/android/internal/os/BatteryStatsImpl.java core/res/res/drawable-mdpi/btn_check_off.png core/res/res/drawable-mdpi/btn_check_off_disable.png core/res/res/drawable-mdpi/btn_check_off_disable_focused.png core/res/res/drawable-mdpi/btn_check_off_pressed.png core/res/res/drawable-mdpi/btn_check_off_selected.png core/res/res/drawable-mdpi/btn_check_on.png core/res/res/drawable-mdpi/btn_check_on_disable.png core/res/res/drawable-mdpi/btn_check_on_disable_focused.png core/res/res/drawable-mdpi/btn_check_on_pressed.png core/res/res/drawable-mdpi/btn_check_on_selected.png core/res/res/values-ca/strings.xml core/res/res/values-de/strings.xml core/res/res/values/config.xml include/media/AudioSystem.h include/media/mediarecorder.h media/java/android/media/MediaRecorder.java media/libmedia/AudioSystem.cpp media/libstagefright/StagefrightMediaScanner.cpp media/libstagefright/rtsp/ARTSPConnection.cpp media/libstagefright/rtsp/ASessionDescription.cpp media/libstagefright/rtsp/MyHandler.h policy/src/com/android/internal/policy/impl/KeyguardUpdateMonitor.java policy/src/com/android/internal/policy/impl/LockScreen.java policy/src/com/android/internal/policy/impl/PhoneWindowManager.java policy/src/com/android/internal/policy/impl/RecentApplicationsDialog.java services/audioflinger/AudioPolicyManagerBase.cpp services/java/com/android/server/PackageManagerService.java services/java/com/android/server/am/ActivityManagerService.java test-runner/src/android/test/mock/MockPackageManager.java voip/java/android/net/sip/SipProfile.java voip/java/com/android/server/sip/SipService.java wifi/java/android/net/wifi/WifiStateTracker.java Change-Id: Ia65d02a66c6206b5f4ed95c3a64e3f28a03e7329
Diffstat (limited to 'cmds')
-rw-r--r--cmds/bmgr/src/com/android/commands/bmgr/Bmgr.java9
-rw-r--r--cmds/pm/src/com/android/commands/pm/Pm.java135
-rw-r--r--cmds/stagefright/stagefright.cpp12
3 files changed, 135 insertions, 21 deletions
diff --git a/cmds/bmgr/src/com/android/commands/bmgr/Bmgr.java b/cmds/bmgr/src/com/android/commands/bmgr/Bmgr.java
index 37c8ad0..a1cc4ce 100644
--- a/cmds/bmgr/src/com/android/commands/bmgr/Bmgr.java
+++ b/cmds/bmgr/src/com/android/commands/bmgr/Bmgr.java
@@ -217,8 +217,7 @@ public final class Bmgr {
// The rest of the 'list' options work with a restore session on the current transport
try {
- String curTransport = mBmgr.getCurrentTransport();
- mRestore = mBmgr.beginRestoreSession(curTransport);
+ mRestore = mBmgr.beginRestoreSession(null, null);
if (mRestore == null) {
System.err.println(BMGR_NOT_RUNNING_ERR);
return;
@@ -349,8 +348,7 @@ public final class Bmgr {
private void doRestorePackage(String pkg) {
try {
- String curTransport = mBmgr.getCurrentTransport();
- mRestore = mBmgr.beginRestoreSession(curTransport);
+ mRestore = mBmgr.beginRestoreSession(pkg, null);
if (mRestore == null) {
System.err.println(BMGR_NOT_RUNNING_ERR);
return;
@@ -378,8 +376,7 @@ public final class Bmgr {
try {
boolean didRestore = false;
- String curTransport = mBmgr.getCurrentTransport();
- mRestore = mBmgr.beginRestoreSession(curTransport);
+ mRestore = mBmgr.beginRestoreSession(null, null);
if (mRestore == null) {
System.err.println(BMGR_NOT_RUNNING_ERR);
return;
diff --git a/cmds/pm/src/com/android/commands/pm/Pm.java b/cmds/pm/src/com/android/commands/pm/Pm.java
index 46fa114..d764aa9 100644
--- a/cmds/pm/src/com/android/commands/pm/Pm.java
+++ b/cmds/pm/src/com/android/commands/pm/Pm.java
@@ -18,9 +18,11 @@ package com.android.commands.pm;
import com.android.internal.content.PackageHelper;
+import android.app.ActivityManagerNative;
import android.content.ComponentName;
import android.content.pm.ApplicationInfo;
import android.content.pm.FeatureInfo;
+import android.content.pm.IPackageDataObserver;
import android.content.pm.IPackageDeleteObserver;
import android.content.pm.IPackageInstallObserver;
import android.content.pm.IPackageManager;
@@ -100,6 +102,11 @@ public final class Pm {
return;
}
+ if ("clear".equals(op)) {
+ runClear();
+ return;
+ }
+
if ("enable".equals(op)) {
runSetEnabledSetting(PackageManager.COMPONENT_ENABLED_STATE_ENABLED);
return;
@@ -152,6 +159,7 @@ public final class Pm {
* pm list permission-groups
* pm list permissions
* pm list features
+ * pm list libraries
* pm list instrumentation
*/
private void runList() {
@@ -169,6 +177,8 @@ public final class Pm {
runListPermissions();
} else if ("features".equals(type)) {
runListFeatures();
+ } else if ("libraries".equals(type)) {
+ runListLibraries();
} else if ("instrumentation".equals(type)) {
runListInstrumentation();
} else {
@@ -181,6 +191,8 @@ public final class Pm {
* Lists all the installed packages.
*/
private void runListPackages(boolean showApplicationPackage) {
+ int getFlags = 0;
+ boolean listDisabled = false, listEnabled = false;
try {
String opt;
while ((opt=nextOption()) != null) {
@@ -190,6 +202,12 @@ public final class Pm {
showApplicationPackage = true;
} else if (opt.equals("-f")) {
showApplicationPackage = true;
+ } else if (opt.equals("-d")) {
+ listDisabled = true;
+ } else if (opt.equals("-e")) {
+ listEnabled = true;
+ } else if (opt.equals("-u")) {
+ getFlags |= PackageManager.GET_UNINSTALLED_PACKAGES;
} else {
System.err.println("Error: Unknown option: " + opt);
showUsage();
@@ -202,18 +220,26 @@ public final class Pm {
return;
}
+ String filter = nextArg();
+
try {
- List<PackageInfo> packages = mPm.getInstalledPackages(0 /* all */);
+ List<PackageInfo> packages = mPm.getInstalledPackages(getFlags);
int count = packages.size();
for (int p = 0 ; p < count ; p++) {
PackageInfo info = packages.get(p);
- System.out.print("package:");
- if (showApplicationPackage) {
- System.out.print(info.applicationInfo.sourceDir);
- System.out.print("=");
+ if (filter != null && !info.packageName.contains(filter)) {
+ continue;
+ }
+ if ((!listDisabled || !info.applicationInfo.enabled) &&
+ (!listEnabled || info.applicationInfo.enabled)) {
+ System.out.print("package:");
+ if (showApplicationPackage) {
+ System.out.print(info.applicationInfo.sourceDir);
+ System.out.print("=");
+ }
+ System.out.println(info.packageName);
}
- System.out.println(info.packageName);
}
} catch (RemoteException e) {
System.err.println(e.toString());
@@ -260,6 +286,42 @@ public final class Pm {
}
/**
+ * Lists all of the libraries supported by the current device.
+ *
+ * pm list libraries
+ */
+ private void runListLibraries() {
+ try {
+ List<String> list = new ArrayList<String>();
+ String[] rawList = mPm.getSystemSharedLibraryNames();
+ for (int i=0; i<rawList.length; i++) {
+ list.add(rawList[i]);
+ }
+
+
+ // Sort by name
+ Collections.sort(list, new Comparator<String>() {
+ public int compare(String o1, String o2) {
+ if (o1 == o2) return 0;
+ if (o1 == null) return -1;
+ if (o2 == null) return 1;
+ return o1.compareTo(o2);
+ }
+ });
+
+ int count = (list != null) ? list.size() : 0;
+ for (int p = 0; p < count; p++) {
+ String lib = list.get(p);
+ System.out.print("library:");
+ System.out.println(lib);
+ }
+ } catch (RemoteException e) {
+ System.err.println(e.toString());
+ System.err.println(PM_NOT_RUNNING_ERR);
+ }
+ }
+
+ /**
* Lists all of the installed instrumentation, or all for a given package
*
* pm list instrumentation [package] [-f]
@@ -756,6 +818,55 @@ public final class Pm {
return obs.result;
}
+ class ClearDataObserver extends IPackageDataObserver.Stub {
+ boolean finished;
+ boolean result;
+
+ @Override
+ public void onRemoveCompleted(String packageName, boolean succeeded) throws RemoteException {
+ synchronized (this) {
+ finished = true;
+ result = succeeded;
+ notifyAll();
+ }
+ }
+
+ }
+
+ private void runClear() {
+ String pkg = nextArg();
+ if (pkg == null) {
+ System.err.println("Error: no package specified");
+ showUsage();
+ return;
+ }
+
+ ClearDataObserver obs = new ClearDataObserver();
+ try {
+ if (!ActivityManagerNative.getDefault().clearApplicationUserData(pkg, obs)) {
+ System.err.println("Failed");
+ }
+
+ synchronized (obs) {
+ while (!obs.finished) {
+ try {
+ obs.wait();
+ } catch (InterruptedException e) {
+ }
+ }
+ }
+
+ if (obs.result) {
+ System.err.println("Success");
+ } else {
+ System.err.println("Failed");
+ }
+ } catch (RemoteException e) {
+ System.err.println(e.toString());
+ System.err.println(PM_NOT_RUNNING_ERR);
+ }
+ }
+
private static String enabledSettingToString(int state) {
switch (state) {
case PackageManager.COMPONENT_ENABLED_STATE_DEFAULT:
@@ -882,20 +993,26 @@ public final class Pm {
private static void showUsage() {
System.err.println("usage: pm [list|path|install|uninstall]");
- System.err.println(" pm list packages [-f]");
+ System.err.println(" pm list packages [-f] [-d] [-e] [-u] [FILTER]");
System.err.println(" pm list permission-groups");
System.err.println(" pm list permissions [-g] [-f] [-d] [-u] [GROUP]");
System.err.println(" pm list instrumentation [-f] [TARGET-PACKAGE]");
System.err.println(" pm list features");
+ System.err.println(" pm list libraries");
System.err.println(" pm path PACKAGE");
System.err.println(" pm install [-l] [-r] [-t] [-i INSTALLER_PACKAGE_NAME] [-s] [-f] PATH");
System.err.println(" pm uninstall [-k] PACKAGE");
+ System.err.println(" pm clear PACKAGE");
System.err.println(" pm enable PACKAGE_OR_COMPONENT");
System.err.println(" pm disable PACKAGE_OR_COMPONENT");
System.err.println(" pm setInstallLocation [0/auto] [1/internal] [2/external]");
System.err.println("");
- System.err.println("The list packages command prints all packages. Options:");
+ System.err.println("The list packages command prints all packages, optionally only");
+ System.err.println("those whose package name contains the text in FILTER. Options:");
System.err.println(" -f: see their associated file.");
+ System.err.println(" -d: filter to include disbled packages.");
+ System.err.println(" -e: filter to include enabled packages.");
+ System.err.println(" -u: also include uninstalled packages.");
System.err.println("");
System.err.println("The list permission-groups command prints all known");
System.err.println("permission groups.");
@@ -928,6 +1045,8 @@ public final class Pm {
System.err.println(" -k: keep the data and cache directories around.");
System.err.println("after the package removal.");
System.err.println("");
+ System.err.println("The clear command deletes all data associated with a package.");
+ System.err.println("");
System.err.println("The enable and disable commands change the enabled state of");
System.err.println("a given package or component (written as \"package/class\").");
System.err.println("");
diff --git a/cmds/stagefright/stagefright.cpp b/cmds/stagefright/stagefright.cpp
index f55b746..ff92431 100644
--- a/cmds/stagefright/stagefright.cpp
+++ b/cmds/stagefright/stagefright.cpp
@@ -596,21 +596,19 @@ int main(int argc, char **argv) {
const char *filename = argv[k];
CHECK_EQ(retriever->setDataSource(filename), (status_t)OK);
- CHECK_EQ(retriever->setMode(
- METADATA_MODE_FRAME_CAPTURE_AND_METADATA_RETRIEVAL),
- (status_t)OK);
-
- sp<IMemory> mem = retriever->captureFrame();
+ sp<IMemory> mem =
+ retriever->getFrameAtTime(-1,
+ MediaSource::ReadOptions::SEEK_PREVIOUS_SYNC);
if (mem != NULL) {
- printf("captureFrame(%s) => OK\n", filename);
+ printf("getFrameAtTime(%s) => OK\n", filename);
} else {
mem = retriever->extractAlbumArt();
if (mem != NULL) {
printf("extractAlbumArt(%s) => OK\n", filename);
} else {
- printf("both captureFrame and extractAlbumArt "
+ printf("both getFrameAtTime and extractAlbumArt "
"failed on file '%s'.\n", filename);
}
}