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

Commit d1344b38 authored by Julia Reynolds's avatar Julia Reynolds Committed by Automerger Merge Worker
Browse files

Merge "Update Bridged app link when NLS access changes" into tm-qpr-dev am:...

Merge "Update Bridged app link when NLS access changes" into tm-qpr-dev am: dbaa4192 am: 80e1ca7c

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/19624197



Change-Id: I80cbd2726cf3609a1f266e46b728b1d632ea8abe
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents be401593 80e1ca7c
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -18,10 +18,11 @@ import android.content.Context;
import android.os.Build;
import android.service.notification.NotificationListenerFilter;

import androidx.preference.Preference;

import com.android.settings.core.BasePreferenceController;
import com.android.settings.notification.NotificationBackend;


public class BridgedAppsLinkPreferenceController extends BasePreferenceController {

    private ComponentName mCn;
@@ -61,7 +62,6 @@ public class BridgedAppsLinkPreferenceController extends BasePreferenceControlle
            if (mTargetSdk > Build.VERSION_CODES.S) {
                return AVAILABLE;
            }

            mNlf = mNm.getListenerFilter(mCn, mUserId);
            if (!mNlf.areAllTypesAllowed() || !mNlf.getDisallowedPackages().isEmpty()) {
                return AVAILABLE;
@@ -69,4 +69,10 @@ public class BridgedAppsLinkPreferenceController extends BasePreferenceControlle
        }
        return DISABLED_DEPENDENT_SETTING;
    }

    @Override
    public void updateState(Preference pref) {
        pref.setEnabled(getAvailabilityStatus() == AVAILABLE);
        super.updateState(pref);
    }
}
+2 −10
Original line number Diff line number Diff line
@@ -233,11 +233,7 @@ public class NotificationAccessDetails extends DashboardFragment {
        apc.updateState(screen.findPreference(apc.getPreferenceKey()));
        getPreferenceControllers().forEach(controllers -> {
            controllers.forEach(controller -> {
                if (controller instanceof TypeFilterPreferenceController) {
                    TypeFilterPreferenceController tfpc =
                            (TypeFilterPreferenceController) controller;
                    tfpc.updateState(screen.findPreference(tfpc.getPreferenceKey()));
                }
                controller.updateState(screen.findPreference(controller.getPreferenceKey()));
            });
        });
    }
@@ -249,11 +245,7 @@ public class NotificationAccessDetails extends DashboardFragment {
        apc.updateState(screen.findPreference(apc.getPreferenceKey()));
        getPreferenceControllers().forEach(controllers -> {
            controllers.forEach(controller -> {
                if (controller instanceof TypeFilterPreferenceController) {
                    TypeFilterPreferenceController tfpc =
                            (TypeFilterPreferenceController) controller;
                    tfpc.updateState(screen.findPreference(tfpc.getPreferenceKey()));
                }
                controller.updateState(screen.findPreference(controller.getPreferenceKey()));
            });
        });
    }
+21 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import android.content.Context;
import android.os.Build;
import android.service.notification.NotificationListenerFilter;

import androidx.preference.Preference;
import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4;

@@ -68,6 +69,11 @@ public class BridgedAppsLinkPreferenceControllerTest {
        mController.setTargetSdk(Build.VERSION_CODES.CUR_DEVELOPMENT + 1);

        assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_DEPENDENT_SETTING);

        // disables field
        Preference p = new Preference(mContext);
        mController.updateState(p);
        assertThat(p.isEnabled()).isFalse();
    }

    @Test
@@ -77,6 +83,11 @@ public class BridgedAppsLinkPreferenceControllerTest {
        when(mNm.getListenerFilter(mCn, 0)).thenReturn(new NotificationListenerFilter());

        assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_DEPENDENT_SETTING);

        // disables field
        Preference p = new Preference(mContext);
        mController.updateState(p);
        assertThat(p.isEnabled()).isFalse();
    }

    @Test
@@ -88,6 +99,11 @@ public class BridgedAppsLinkPreferenceControllerTest {
        when(mNm.getListenerFilter(mCn, 0)).thenReturn(nlf);

        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);

        // enables field
        Preference p = new Preference(mContext);
        mController.updateState(p);
        assertThat(p.isEnabled()).isTrue();
    }

    @Test
@@ -97,5 +113,10 @@ public class BridgedAppsLinkPreferenceControllerTest {
        when(mNm.getListenerFilter(mCn, 0)).thenReturn(new NotificationListenerFilter());

        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);

        // enables field
        Preference p = new Preference(mContext);
        mController.updateState(p);
        assertThat(p.isEnabled()).isTrue();
    }
}