Show suppression msg under ringer slider

Instead of replacing the rigner slider, because the stream
isn't actually muted.

Change-Id: Id2c60d6c570084ed8febcaeb3b096a487f572312
Fixes: 77641315
Test: robotests
This commit is contained in:
Julia Reynolds
2018-04-17 09:11:43 -04:00
parent e848603807
commit 0ddba4c119
4 changed files with 24 additions and 13 deletions

View File

@@ -72,9 +72,10 @@
android:orientation="vertical"/> android:orientation="vertical"/>
</LinearLayout> </LinearLayout>
<FrameLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="6dp"> android:layout_marginTop="6dp">
<SeekBar <SeekBar
@@ -93,10 +94,11 @@
android:textAlignment="viewStart" android:textAlignment="viewStart"
android:singleLine="true" android:singleLine="true"
android:ellipsize="end" android:ellipsize="end"
android:visibility="gone"
android:textAppearance="@android:style/TextAppearance.Material.Body1" android:textAppearance="@android:style/TextAppearance.Material.Body1"
android:textColor="?android:attr/textColorSecondary"/> android:textColor="?android:attr/textColorSecondary"/>
</FrameLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>

View File

@@ -17,6 +17,8 @@
package com.android.settings.notification; package com.android.settings.notification;
import android.app.NotificationManager; import android.app.NotificationManager;
import android.arch.lifecycle.LifecycleObserver;
import android.arch.lifecycle.OnLifecycleEvent;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
import android.content.ComponentName; import android.content.ComponentName;
import android.content.Context; import android.content.Context;
@@ -31,6 +33,7 @@ import android.os.Vibrator;
import com.android.internal.annotations.VisibleForTesting; import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.Utils; import com.android.settings.Utils;
import com.android.settingslib.core.lifecycle.Lifecycle;
import java.util.Objects; import java.util.Objects;
@@ -58,6 +61,7 @@ public class RingVolumePreferenceController extends VolumeSeekBarPreferenceContr
updateRingerMode(); updateRingerMode();
} }
@OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
@Override @Override
public void onResume() { public void onResume() {
super.onResume(); super.onResume();
@@ -66,6 +70,7 @@ public class RingVolumePreferenceController extends VolumeSeekBarPreferenceContr
updatePreferenceIcon(); updatePreferenceIcon();
} }
@OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
@Override @Override
public void onPause() { public void onPause() {
super.onPause(); super.onPause();
@@ -118,11 +123,10 @@ public class RingVolumePreferenceController extends VolumeSeekBarPreferenceContr
private void updatePreferenceIcon() { private void updatePreferenceIcon() {
if (mPreference != null) { if (mPreference != null) {
mPreference.showIcon(mSuppressor != null mPreference.showIcon(
? com.android.internal.R.drawable.ic_audio_ring_notif_mute mRingerMode == AudioManager.RINGER_MODE_VIBRATE || wasRingerModeVibrate()
: mRingerMode == AudioManager.RINGER_MODE_VIBRATE || wasRingerModeVibrate() ? com.android.internal.R.drawable.ic_audio_ring_notif_vibrate
? com.android.internal.R.drawable.ic_audio_ring_notif_vibrate : com.android.internal.R.drawable.ic_audio_ring_notif);
: com.android.internal.R.drawable.ic_audio_ring_notif);
} }
} }

View File

@@ -146,10 +146,16 @@ public class SoundSettings extends DashboardFragment {
@Override @Override
public void onAttach(Context context) { public void onAttach(Context context) {
super.onAttach(context); super.onAttach(context);
use(AlarmVolumePreferenceController.class).setCallback(mVolumeCallback); ArrayList<VolumeSeekBarPreferenceController> volumeControllers = new ArrayList<>();
use(MediaVolumePreferenceController.class).setCallback(mVolumeCallback); volumeControllers.add(use(AlarmVolumePreferenceController.class));
use(RingVolumePreferenceController.class).setCallback(mVolumeCallback); volumeControllers.add(use(MediaVolumePreferenceController.class));
use(NotificationVolumePreferenceController.class).setCallback(mVolumeCallback); volumeControllers.add(use(RingVolumePreferenceController.class));
volumeControllers.add(use(NotificationVolumePreferenceController.class));
for (VolumeSeekBarPreferenceController controller : volumeControllers) {
controller.setCallback(mVolumeCallback);
getLifecycle().addObserver(controller);
}
} }
// === Volumes === // === Volumes ===

View File

@@ -196,8 +196,7 @@ public class VolumeSeekBarPreference extends SeekBarPreference {
if (mSuppressionTextView != null && mSeekBar != null) { if (mSuppressionTextView != null && mSeekBar != null) {
mSuppressionTextView.setText(mSuppressionText); mSuppressionTextView.setText(mSuppressionText);
final boolean showSuppression = !TextUtils.isEmpty(mSuppressionText); final boolean showSuppression = !TextUtils.isEmpty(mSuppressionText);
mSuppressionTextView.setVisibility(showSuppression ? View.VISIBLE : View.INVISIBLE); mSuppressionTextView.setVisibility(showSuppression ? View.VISIBLE : View.GONE);
mSeekBar.setVisibility(showSuppression ? View.INVISIBLE : View.VISIBLE);
} }
} }