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

Commit 8feaa5bf authored by Clark Scheff's avatar Clark Scheff
Browse files

Add getThemedResourcesForApplicationAsUser()

Change-Id: I90b7cb441e4056f59b7260ffa55e31eba644e25a
parent 54b5fbf0
Loading
Loading
Loading
Loading
+25 −6
Original line number Diff line number Diff line
@@ -788,6 +788,28 @@ final class ApplicationPackageManager extends PackageManager {
            getApplicationInfo(appPackageName, 0));
    }

    /** @hide */
    @Override
    public Resources getResourcesForApplicationAsUser(String appPackageName, int userId)
            throws NameNotFoundException {
        if (userId < 0) {
            throw new IllegalArgumentException(
                    "Call does not support special user #" + userId);
        }
        if ("system".equals(appPackageName)) {
            return mContext.mMainThread.getSystemContext().getResources();
        }
        try {
            ApplicationInfo ai = mPM.getApplicationInfo(appPackageName, 0, userId);
            if (ai != null) {
                return getResourcesForApplication(ai);
            }
        } catch (RemoteException e) {
            throw new RuntimeException("Package manager has died", e);
        }
        throw new NameNotFoundException("Package " + appPackageName + " doesn't exist");
    }

    /** @hide */
    @Override public Resources getThemedResourcesForApplication(
            ApplicationInfo app, String themePkgName) throws NameNotFoundException {
@@ -813,19 +835,16 @@ final class ApplicationPackageManager extends PackageManager {

    /** @hide */
    @Override
    public Resources getResourcesForApplicationAsUser(String appPackageName, int userId)
            throws NameNotFoundException {
    public Resources getThemedResourcesForApplicationAsUser(String appPackageName,
            String themePackageName, int userId) throws NameNotFoundException {
        if (userId < 0) {
            throw new IllegalArgumentException(
                    "Call does not support special user #" + userId);
        }
        if ("system".equals(appPackageName)) {
            return mContext.mMainThread.getSystemContext().getResources();
        }
        try {
            ApplicationInfo ai = mPM.getApplicationInfo(appPackageName, 0, userId);
            if (ai != null) {
                return getResourcesForApplication(ai);
                return getThemedResourcesForApplication(ai, themePackageName);
            }
        } catch (RemoteException e) {
            throw new RuntimeException("Package manager has died", e);
+8 −6
Original line number Diff line number Diff line
@@ -2632,18 +2632,20 @@ public abstract class PackageManager {
            throws NameNotFoundException;

    /** @hide */
    public abstract Resources getThemedResourcesForApplication(ApplicationInfo app,
                                                               String themePkgName)
    public abstract Resources getResourcesForApplicationAsUser(String appPackageName, int userId)
            throws NameNotFoundException;

    /** @hide */
    public abstract Resources getThemedResourcesForApplication(ApplicationInfo app,
            String themePkgName) throws NameNotFoundException;

    /** @hide */
    public abstract Resources getThemedResourcesForApplication(String appPackageName,
                                                               String themePkgName)
            throws NameNotFoundException;
            String themePkgName) throws NameNotFoundException;

    /** @hide */
    public abstract Resources getResourcesForApplicationAsUser(String appPackageName, int userId)
            throws NameNotFoundException;
    public abstract Resources getThemedResourcesForApplicationAsUser(String appPackageName,
            String themePkgName, int userId) throws NameNotFoundException;

    /**
     * Retrieve overall information about an application package defined
+11 −4
Original line number Diff line number Diff line
@@ -400,6 +400,12 @@ public class MockPackageManager extends PackageManager {
        throw new UnsupportedOperationException();
    }

    /** @hide */
    @Override
    public Resources getResourcesForApplicationAsUser(String appPackageName, int userId) {
        throw new UnsupportedOperationException();
    }

    /** @hide */
    @Override
    public Resources getThemedResourcesForApplication(ApplicationInfo app, String themePkgName)
@@ -416,8 +422,9 @@ public class MockPackageManager extends PackageManager {

    /** @hide */
    @Override
    public Resources getResourcesForApplicationAsUser(String appPackageName, int userId) {
        throw new UnsupportedOperationException();
    public Resources getThemedResourcesForApplicationAsUser(String appPackageName,
            String themePkgName, int userId) throws NameNotFoundException {
        return null;
    }

    @Override