Merge "Update Bridged app link when NLS access changes" into tm-qpr-dev am: dbaa419226
am: 80e1ca7c54
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/19624197 Change-Id: I80cbd2726cf3609a1f266e46b728b1d632ea8abe Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
@@ -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()));
|
||||
});
|
||||
});
|
||||
}
|
||||
|
@@ -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();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user