Suppress work-profile search terms when no AfW is on device

- Share the same set of pref controller between main UI and search
  in AccountDashboardFragment.
- Update WorkSoundPreferenceController to actually do something for
  updateNonIndexable() method.
- LockscreenDashboardFragment to also suppress "Work notification" header. I
  think we just missed it previously.

Change-Id: Ifa6f9b2077c9810ffff33f240929f418d4a8a5aa
Fixes: 62167659
Test: robotests
This commit is contained in:
Fan Zhang
2018-06-04 14:27:14 -07:00
parent 0614f76677
commit 3f34335e2e
3 changed files with 45 additions and 22 deletions

View File

@@ -32,11 +32,6 @@ import android.os.Bundle;
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.Settings;
import androidx.preference.Preference;
import androidx.preference.Preference.OnPreferenceChangeListener;
import androidx.preference.PreferenceGroup;
import androidx.preference.PreferenceScreen;
import androidx.preference.TwoStatePreference;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
@@ -51,6 +46,14 @@ import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;
import java.util.List;
import androidx.preference.Preference;
import androidx.preference.Preference.OnPreferenceChangeListener;
import androidx.preference.PreferenceGroup;
import androidx.preference.PreferenceScreen;
import androidx.preference.TwoStatePreference;
public class WorkSoundPreferenceController extends AbstractPreferenceController
implements PreferenceControllerMixin, OnPreferenceChangeListener, LifecycleObserver,
OnResume, OnPause {
@@ -96,10 +99,8 @@ public class WorkSoundPreferenceController extends AbstractPreferenceController
@Override
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
mWorkPreferenceCategory = (PreferenceGroup) screen.findPreference(KEY_WORK_CATEGORY);
if (mWorkPreferenceCategory != null) {
mWorkPreferenceCategory.setVisible(isAvailable());
}
}
@Override
@@ -157,6 +158,18 @@ public class WorkSoundPreferenceController extends AbstractPreferenceController
return true;
}
@Override
public void updateNonIndexableKeys(List<String> keys) {
if (isAvailable()) {
return;
}
keys.add(KEY_WORK_CATEGORY);
keys.add(KEY_WORK_USE_PERSONAL_SOUNDS);
keys.add(KEY_WORK_NOTIFICATION_RINGTONE);
keys.add(KEY_WORK_PHONE_RINGTONE);
keys.add(KEY_WORK_ALARM_RINGTONE);
}
// === Phone & notification ringtone ===
private boolean shouldShowRingtoneSettings() {