Merge "Remove shell commands to set default SMS app"
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 28646b9..a8bb287 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -142,8 +142,6 @@
import com.android.internal.telephony.RIL;
import com.android.internal.telephony.RILConstants;
import com.android.internal.telephony.ServiceStateTracker;
-import com.android.internal.telephony.SmsApplication;
-import com.android.internal.telephony.SmsApplication.SmsApplicationData;
import com.android.internal.telephony.SmsController;
import com.android.internal.telephony.SmsPermissions;
import com.android.internal.telephony.SubscriptionController;
@@ -176,7 +174,6 @@
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -6899,75 +6896,6 @@
}
}
- private void ensureUserRunning(int userId) {
- if (!mUserManager.isUserRunning(UserHandle.of(userId))) {
- throw new IllegalStateException("User " + userId + " does not exist or not running");
- }
- }
-
- /**
- * Returns a list of SMS apps on a given user.
- *
- * Only the shell user (UID 2000 or 0) can call it.
- * Target user must be running.
- */
- @Override
- public String[] getSmsApps(int userId) {
- TelephonyPermissions.enforceShellOnly(Binder.getCallingUid(), "getSmsApps");
- ensureUserRunning(userId);
-
- final Collection<SmsApplicationData> apps =
- SmsApplication.getApplicationCollectionAsUser(mApp, userId);
-
- String[] ret = new String[apps.size()];
- int i = 0;
- for (SmsApplicationData app : apps) {
- ret[i++] = app.mPackageName;
- }
- return ret;
- }
-
- /**
- * Returns the default SMS app package name on a given user.
- *
- * Only the shell user (UID 2000 or 0) can call it.
- * Target user must be running.
- */
- @Override
- public String getDefaultSmsApp(int userId) {
- TelephonyPermissions.enforceShellOnly(Binder.getCallingUid(), "getDefaultSmsApp");
- ensureUserRunning(userId);
-
- final ComponentName cn = SmsApplication.getDefaultSmsApplicationAsUser(mApp,
- /* updateIfNeeded= */ true, userId);
- return cn == null ? null : cn.getPackageName();
- }
-
- /**
- * Set a package as the default SMS app on a given user.
- *
- * Only the shell user (UID 2000 or 0) can call it.
- * Target user must be running.
- */
- @Override
- public void setDefaultSmsApp(int userId, String packageName) {
- TelephonyPermissions.enforceShellOnly(Binder.getCallingUid(), "setDefaultSmsApp");
- ensureUserRunning(userId);
-
- boolean found = false;
- for (String pkg : getSmsApps(userId)) {
- if (TextUtils.equals(packageName, pkg)) {
- found = true;
- break;
- }
- }
- if (!found) {
- throw new IllegalArgumentException("Package " + packageName + " is not an SMS app");
- }
-
- SmsApplication.setDefaultApplicationAsUser(packageName, mApp, userId);
- }
-
@Override
public Map<Integer, List<EmergencyNumber>> getEmergencyNumberList(
String callingPackage) {
diff --git a/src/com/android/phone/TelephonyShellCommand.java b/src/com/android/phone/TelephonyShellCommand.java
index a34abc0..d8d1717 100644
--- a/src/com/android/phone/TelephonyShellCommand.java
+++ b/src/com/android/phone/TelephonyShellCommand.java
@@ -20,7 +20,6 @@
import android.os.Process;
import android.os.RemoteException;
import android.os.ShellCommand;
-import android.os.UserHandle;
import android.telephony.SubscriptionManager;
import android.telephony.emergency.EmergencyNumber;
import android.util.Log;
@@ -45,7 +44,6 @@
private static final int DEFAULT_PHONE_ID = 0;
private static final String IMS_SUBCOMMAND = "ims";
- private static final String SMS_SUBCOMMAND = "sms";
private static final String NUMBER_VERIFICATION_SUBCOMMAND = "numverify";
private static final String EMERGENCY_NUMBER_TEST_MODE = "emergency-number-test-mode";
@@ -58,10 +56,6 @@
// support CEP data.
private static final String IMS_CEP = "conference-event-package";
- private static final String SMS_GET_APPS = "get-apps";
- private static final String SMS_GET_DEFAULT_APP = "get-default-app";
- private static final String SMS_SET_DEFAULT_APP = "set-default-app";
-
private static final String NUMBER_VERIFICATION_OVERRIDE_PACKAGE = "override-package";
private static final String NUMBER_VERIFICATION_FAKE_CALL = "fake-call";
@@ -82,9 +76,6 @@
case IMS_SUBCOMMAND: {
return handleImsCommand();
}
- case SMS_SUBCOMMAND: {
- return handleSmsCommand();
- }
case NUMBER_VERIFICATION_SUBCOMMAND:
return handleNumberVerificationCommand();
case EMERGENCY_NUMBER_TEST_MODE:
@@ -103,12 +94,9 @@
pw.println(" Print this help text.");
pw.println(" ims");
pw.println(" IMS Commands.");
- pw.println(" sms");
- pw.println(" SMS Commands.");
pw.println(" emergency-number-test-mode");
pw.println(" Emergency Number Test Mode Commands.");
onHelpIms();
- onHelpSms();
onHelpEmergencyNumber();
}
@@ -139,18 +127,6 @@
pw.println(" enables or disables handling or network conference event package data.");
}
- private void onHelpSms() {
- PrintWriter pw = getOutPrintWriter();
- pw.println("SMS Commands:");
- pw.println(" sms get-apps [--user USER_ID]");
- pw.println(" Print all SMS apps on a user.");
- pw.println(" sms get-default-app [--user USER_ID]");
- pw.println(" Get the default SMS app.");
- pw.println(" sms set-default-app [--user USER_ID] PACKAGE_NAME");
- pw.println(" Set PACKAGE_NAME as the default SMS app.");
- }
-
-
private void onHelpNumberVerification() {
PrintWriter pw = getOutPrintWriter();
pw.println("Number verification commands");
@@ -501,87 +477,6 @@
return slotId;
}
- private int handleSmsCommand() {
- String arg = getNextArg();
- if (arg == null) {
- onHelpSms();
- return 0;
- }
-
- try {
- switch (arg) {
- case SMS_GET_APPS: {
- return handleSmsGetApps();
- }
- case SMS_GET_DEFAULT_APP: {
- return handleSmsGetDefaultApp();
- }
- case SMS_SET_DEFAULT_APP: {
- return handleSmsSetDefaultApp();
- }
- default:
- getErrPrintWriter().println("Unknown command " + arg);
- }
- } catch (RemoteException e) {
- getErrPrintWriter().println("RemoteException: " + e.getMessage());
- }
-
- return -1;
- }
-
- private int maybeParseUserIdArg() {
- int userId = UserHandle.USER_SYSTEM;
- String opt;
- while ((opt = getNextOption()) != null) {
- switch (opt) {
- case "--user": {
- try {
- userId = Integer.parseInt(getNextArgRequired());
- } catch (NumberFormatException e) {
- getErrPrintWriter().println("Invalid user ID for --user");
- return -1;
- }
- break;
- }
- }
- }
- return userId;
- }
-
- private int handleSmsGetApps() throws RemoteException {
- final int userId = maybeParseUserIdArg();
- if (userId < 0) {
- return -1;
- }
-
- for (String packageName : mInterface.getSmsApps(userId)) {
- getOutPrintWriter().println(packageName);
- }
- return 0;
- }
-
- private int handleSmsGetDefaultApp() throws RemoteException {
- final int userId = maybeParseUserIdArg();
- if (userId < 0) {
- return -1;
- }
-
- getOutPrintWriter().println(mInterface.getDefaultSmsApp(userId));
- return 0;
- }
-
- private int handleSmsSetDefaultApp() throws RemoteException {
- final int userId = maybeParseUserIdArg();
- if (userId < 0) {
- return -1;
- }
-
- String packageName = getNextArgRequired();
- mInterface.setDefaultSmsApp(userId, packageName);
- getOutPrintWriter().println("SMS app set to " + mInterface.getDefaultSmsApp(userId));
- return 0;
- }
-
private boolean checkShellUid() {
// adb can run as root or as shell, depending on whether the device is rooted.
return Binder.getCallingUid() == Process.SHELL_UID