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.os.Build;
|
||||||
import android.service.notification.NotificationListenerFilter;
|
import android.service.notification.NotificationListenerFilter;
|
||||||
|
|
||||||
|
import androidx.preference.Preference;
|
||||||
|
|
||||||
import com.android.settings.core.BasePreferenceController;
|
import com.android.settings.core.BasePreferenceController;
|
||||||
import com.android.settings.notification.NotificationBackend;
|
import com.android.settings.notification.NotificationBackend;
|
||||||
|
|
||||||
|
|
||||||
public class BridgedAppsLinkPreferenceController extends BasePreferenceController {
|
public class BridgedAppsLinkPreferenceController extends BasePreferenceController {
|
||||||
|
|
||||||
private ComponentName mCn;
|
private ComponentName mCn;
|
||||||
@@ -61,7 +62,6 @@ public class BridgedAppsLinkPreferenceController extends BasePreferenceControlle
|
|||||||
if (mTargetSdk > Build.VERSION_CODES.S) {
|
if (mTargetSdk > Build.VERSION_CODES.S) {
|
||||||
return AVAILABLE;
|
return AVAILABLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
mNlf = mNm.getListenerFilter(mCn, mUserId);
|
mNlf = mNm.getListenerFilter(mCn, mUserId);
|
||||||
if (!mNlf.areAllTypesAllowed() || !mNlf.getDisallowedPackages().isEmpty()) {
|
if (!mNlf.areAllTypesAllowed() || !mNlf.getDisallowedPackages().isEmpty()) {
|
||||||
return AVAILABLE;
|
return AVAILABLE;
|
||||||
@@ -69,4 +69,10 @@ public class BridgedAppsLinkPreferenceController extends BasePreferenceControlle
|
|||||||
}
|
}
|
||||||
return DISABLED_DEPENDENT_SETTING;
|
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()));
|
apc.updateState(screen.findPreference(apc.getPreferenceKey()));
|
||||||
getPreferenceControllers().forEach(controllers -> {
|
getPreferenceControllers().forEach(controllers -> {
|
||||||
controllers.forEach(controller -> {
|
controllers.forEach(controller -> {
|
||||||
if (controller instanceof TypeFilterPreferenceController) {
|
controller.updateState(screen.findPreference(controller.getPreferenceKey()));
|
||||||
TypeFilterPreferenceController tfpc =
|
|
||||||
(TypeFilterPreferenceController) controller;
|
|
||||||
tfpc.updateState(screen.findPreference(tfpc.getPreferenceKey()));
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -249,11 +245,7 @@ public class NotificationAccessDetails extends DashboardFragment {
|
|||||||
apc.updateState(screen.findPreference(apc.getPreferenceKey()));
|
apc.updateState(screen.findPreference(apc.getPreferenceKey()));
|
||||||
getPreferenceControllers().forEach(controllers -> {
|
getPreferenceControllers().forEach(controllers -> {
|
||||||
controllers.forEach(controller -> {
|
controllers.forEach(controller -> {
|
||||||
if (controller instanceof TypeFilterPreferenceController) {
|
controller.updateState(screen.findPreference(controller.getPreferenceKey()));
|
||||||
TypeFilterPreferenceController tfpc =
|
|
||||||
(TypeFilterPreferenceController) controller;
|
|
||||||
tfpc.updateState(screen.findPreference(tfpc.getPreferenceKey()));
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@@ -31,6 +31,7 @@ import android.content.Context;
|
|||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.service.notification.NotificationListenerFilter;
|
import android.service.notification.NotificationListenerFilter;
|
||||||
|
|
||||||
|
import androidx.preference.Preference;
|
||||||
import androidx.test.core.app.ApplicationProvider;
|
import androidx.test.core.app.ApplicationProvider;
|
||||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||||
|
|
||||||
@@ -68,6 +69,11 @@ public class BridgedAppsLinkPreferenceControllerTest {
|
|||||||
mController.setTargetSdk(Build.VERSION_CODES.CUR_DEVELOPMENT + 1);
|
mController.setTargetSdk(Build.VERSION_CODES.CUR_DEVELOPMENT + 1);
|
||||||
|
|
||||||
assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_DEPENDENT_SETTING);
|
assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_DEPENDENT_SETTING);
|
||||||
|
|
||||||
|
// disables field
|
||||||
|
Preference p = new Preference(mContext);
|
||||||
|
mController.updateState(p);
|
||||||
|
assertThat(p.isEnabled()).isFalse();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -77,6 +83,11 @@ public class BridgedAppsLinkPreferenceControllerTest {
|
|||||||
when(mNm.getListenerFilter(mCn, 0)).thenReturn(new NotificationListenerFilter());
|
when(mNm.getListenerFilter(mCn, 0)).thenReturn(new NotificationListenerFilter());
|
||||||
|
|
||||||
assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_DEPENDENT_SETTING);
|
assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_DEPENDENT_SETTING);
|
||||||
|
|
||||||
|
// disables field
|
||||||
|
Preference p = new Preference(mContext);
|
||||||
|
mController.updateState(p);
|
||||||
|
assertThat(p.isEnabled()).isFalse();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -88,6 +99,11 @@ public class BridgedAppsLinkPreferenceControllerTest {
|
|||||||
when(mNm.getListenerFilter(mCn, 0)).thenReturn(nlf);
|
when(mNm.getListenerFilter(mCn, 0)).thenReturn(nlf);
|
||||||
|
|
||||||
assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
|
assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
|
||||||
|
|
||||||
|
// enables field
|
||||||
|
Preference p = new Preference(mContext);
|
||||||
|
mController.updateState(p);
|
||||||
|
assertThat(p.isEnabled()).isTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -97,5 +113,10 @@ public class BridgedAppsLinkPreferenceControllerTest {
|
|||||||
when(mNm.getListenerFilter(mCn, 0)).thenReturn(new NotificationListenerFilter());
|
when(mNm.getListenerFilter(mCn, 0)).thenReturn(new NotificationListenerFilter());
|
||||||
|
|
||||||
assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
|
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