Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fd26ed1a authored by Dianne Hackborn's avatar Dianne Hackborn Committed by Android (Google) Code Review
Browse files

Merge "resolved conflicts for merge of 05be6d6f to master"

parents 39201b01 aa9d84c3
Loading
Loading
Loading
Loading
+27 −0
Original line number Diff line number Diff line
@@ -106,6 +106,8 @@ public class Am {
            runDumpHeap();
        } else if (op.equals("monitor")) {
            runMonitor();
        } else if (op.equals("screen-compat")) {
            runScreenCompat();
        } else {
            throw new IllegalArgumentException("Unknown command: " + op);
        }
@@ -776,6 +778,29 @@ public class Am {
        controller.run();
    }

    private void runScreenCompat() throws Exception {
        String mode = nextArgRequired();
        boolean enabled;
        if ("on".equals(mode)) {
            enabled = true;
        } else if ("off".equals(mode)) {
            enabled = false;
        } else {
            System.err.println("Error: enabled mode must be 'on' or 'off' at " + mode);
            showUsage();
            return;
        }

        String packageName = nextArgRequired();
        do {
            try {
                mAm.setPackageScreenCompatMode(packageName, enabled);
            } catch (RemoteException e) {
            }
            packageName = nextArg();
        } while (packageName != null);
    }

    private class IntentReceiver extends IIntentReceiver.Stub {
        private boolean mFinished = false;

@@ -956,6 +981,8 @@ public class Am {
                "    start monitoring: am monitor [--gdb <port>]\n" +
                "        --gdb: start gdbserv on the given port at crash/ANR\n" +
                "\n" +
                "    control screen compatibility: am screen-compat [on|off] [package]\n" +
                "\n" +
                "    <INTENT> specifications include these flags:\n" +
                "        [-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>]\n" +
                "        [-c <CATEGORY> [-c <CATEGORY>] ...]\n" +
+23 −0
Original line number Diff line number Diff line
@@ -1397,6 +1397,16 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM
            return true;
        }

        case SET_PACKAGE_SCREEN_COMPAT_MODE_TRANSACTION:
        {
            data.enforceInterface(IActivityManager.descriptor);
            String pkg = data.readString();
            boolean enabled = data.readInt() != 0;
            setPackageScreenCompatMode(pkg, enabled);
            reply.writeNoException();
            return true;
        }
        
        case SWITCH_USER_TRANSACTION: {
            data.enforceInterface(IActivityManager.descriptor);
            int userid = data.readInt();
@@ -3172,6 +3182,19 @@ class ActivityManagerProxy implements IActivityManager
        return result;
    }

    public void setPackageScreenCompatMode(String packageName, boolean compatEnabled)
            throws RemoteException {
        Parcel data = Parcel.obtain();
        Parcel reply = Parcel.obtain();
        data.writeInterfaceToken(IActivityManager.descriptor);
        data.writeString(packageName);
        data.writeInt(compatEnabled ? 1 : 0);
        mRemote.transact(SET_PACKAGE_SCREEN_COMPAT_MODE_TRANSACTION, data, reply, 0);
        reply.readException();
        reply.recycle();
        data.recycle();
    }

    public boolean switchUser(int userid) throws RemoteException {
        Parcel data = Parcel.obtain();
        Parcel reply = Parcel.obtain();
+118 −49

File changed.

Preview size limit exceeded, changes collapsed.

+49 −16

File changed.

Preview size limit exceeded, changes collapsed.

+2 −2
Original line number Diff line number Diff line
@@ -1372,7 +1372,7 @@ class ContextImpl extends Context {
        }

        LoadedApk pi =
            mMainThread.getPackageInfo(packageName, flags);
            mMainThread.getPackageInfo(packageName, mResources.getCompatibilityInfo(), flags);
        if (pi != null) {
            ContextImpl c = new ContextImpl();
            c.mRestricted = (flags & CONTEXT_RESTRICTED) == CONTEXT_RESTRICTED;
@@ -1454,7 +1454,7 @@ class ContextImpl extends Context {
                        " compatiblity info:" + container.getDisplayMetrics());
            }
            mResources = mainThread.getTopLevelResources(
                    mPackageInfo.getResDir(), container.getCompatibilityInfo().copy());
                    mPackageInfo.getResDir(), container.getCompatibilityInfo());
        }
        mMainThread = mainThread;
        mContentResolver = new ApplicationContentResolver(this, mainThread);
Loading