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

Commit b861d2d8 authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 6347857 from 27878506 to qt-qpr3-release

Change-Id: I23d13650fcd5b2ff3b2b678b48aa6641e60db648
parents 9230228d 27878506
Loading
Loading
Loading
Loading
+18 −11
Original line number Diff line number Diff line
@@ -49,6 +49,7 @@ public class PowerWhitelistBackend {
    private final ArraySet<String> mWhitelistedApps = new ArraySet<>();
    private final ArraySet<String> mSysWhitelistedApps = new ArraySet<>();
    private final ArraySet<String> mSysWhitelistedAppsExceptIdle = new ArraySet<>();
    private final ArraySet<String> mDefaultActiveApps = new ArraySet<>();

    public PowerWhitelistBackend(Context context) {
        this(context, IDeviceIdleController.Stub.asInterface(
@@ -90,17 +91,7 @@ public class PowerWhitelistBackend {
        // should be automatically whitelisted (otherwise user may be able to set restriction on
        // them, leading to bad device behavior.)

        final boolean hasTelephony = mAppContext.getPackageManager().hasSystemFeature(
                PackageManager.FEATURE_TELEPHONY);
        final ComponentName defaultSms = SmsApplication.getDefaultSmsApplication(mAppContext,
                true /* updateIfNeeded */);
        if (hasTelephony && defaultSms != null && TextUtils.equals(pkg,
                defaultSms.getPackageName())) {
            return true;
        }

        final String defaultDialer = DefaultDialerManager.getDefaultDialerApplication(mAppContext);
        if (hasTelephony && TextUtils.equals(pkg, defaultDialer)) {
        if (mDefaultActiveApps.contains(pkg)) {
            return true;
        }

@@ -166,6 +157,7 @@ public class PowerWhitelistBackend {
        mSysWhitelistedApps.clear();
        mSysWhitelistedAppsExceptIdle.clear();
        mWhitelistedApps.clear();
        mDefaultActiveApps.clear();
        if (mDeviceIdleService == null) {
            return;
        }
@@ -183,6 +175,21 @@ public class PowerWhitelistBackend {
            for (String app : sysWhitelistedAppsExceptIdle) {
                mSysWhitelistedAppsExceptIdle.add(app);
            }
            final boolean hasTelephony = mAppContext.getPackageManager().hasSystemFeature(
                    PackageManager.FEATURE_TELEPHONY);
            final ComponentName defaultSms = SmsApplication.getDefaultSmsApplication(mAppContext,
                    true /* updateIfNeeded */);
            final String defaultDialer = DefaultDialerManager.getDefaultDialerApplication(
                    mAppContext);

            if (hasTelephony) {
                if (defaultSms != null) {
                    mDefaultActiveApps.add(defaultSms.getPackageName());
                }
                if (!TextUtils.isEmpty(defaultDialer)) {
                    mDefaultActiveApps.add(defaultDialer);
                }
            }
        } catch (RemoteException e) {
            Log.w(TAG, "Unable to reach IDeviceIdleController", e);
        }
+4 −0
Original line number Diff line number Diff line
@@ -117,6 +117,8 @@ public class PowerWhitelistBackendTest {
        final String testSms = "com.android.test.defaultsms";
        ShadowSmsApplication.setDefaultSmsApplication(new ComponentName(testSms, "receiver"));

        mPowerWhitelistBackend.refreshList();

        assertThat(mPowerWhitelistBackend.isWhitelisted(testSms)).isTrue();
        assertThat(mPowerWhitelistBackend.isDefaultActiveApp(testSms)).isTrue();
    }
@@ -126,6 +128,8 @@ public class PowerWhitelistBackendTest {
        final String testDialer = "com.android.test.defaultdialer";
        ShadowDefaultDialerManager.setDefaultDialerApplication(testDialer);

        mPowerWhitelistBackend.refreshList();

        assertThat(mPowerWhitelistBackend.isWhitelisted(testDialer)).isTrue();
        assertThat(mPowerWhitelistBackend.isDefaultActiveApp(testDialer)).isTrue();
    }