Updated bubble setting design according to b/284170911.
Updated bubbles settings screen design. Test: manual Bug: 284170911 Change-Id: Ie28ffca28820fe45b11fecfa735ce39aeddcba02
This commit is contained in:
@@ -1,25 +0,0 @@
|
|||||||
<!--
|
|
||||||
~ Copyright (C) 2020 The Android Open Source Project
|
|
||||||
~
|
|
||||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
~ you may not use this file except in compliance with the License.
|
|
||||||
~ You may obtain a copy of the License at
|
|
||||||
~
|
|
||||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
~
|
|
||||||
~ Unless required by applicable law or agreed to in writing, software
|
|
||||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
~ See the License for the specific language governing permissions and
|
|
||||||
~ limitations under the License.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:width="24dp"
|
|
||||||
android:height="24dp"
|
|
||||||
android:viewportWidth="24.0"
|
|
||||||
android:viewportHeight="24.0">
|
|
||||||
<path
|
|
||||||
android:pathData="M16,11c1.66,0 2.99,-1.34 2.99,-3S17.66,5 16,5c-1.66,0 -3,1.34 -3,3s1.34,3 3,3zM8,11c1.66,0 2.99,-1.34 2.99,-3S9.66,5 8,5C6.34,5 5,6.34 5,8s1.34,3 3,3zM8,13c-2.33,0 -7,1.17 -7,3.5L1,19h14v-2.5c0,-2.33 -4.67,-3.5 -7,-3.5zM16,13c-0.29,0 -0.62,0.02 -0.97,0.05 1.16,0.84 1.97,1.97 1.97,3.45L17,19h6v-2.5c0,-2.33 -4.67,-3.5 -7,-3.5z"
|
|
||||||
android:fillColor="#000000"/>
|
|
||||||
</vector>
|
|
@@ -1,25 +0,0 @@
|
|||||||
<!--
|
|
||||||
~ Copyright (C) 2020 The Android Open Source Project
|
|
||||||
~
|
|
||||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
~ you may not use this file except in compliance with the License.
|
|
||||||
~ You may obtain a copy of the License at
|
|
||||||
~
|
|
||||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
~
|
|
||||||
~ Unless required by applicable law or agreed to in writing, software
|
|
||||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
~ See the License for the specific language governing permissions and
|
|
||||||
~ limitations under the License.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:width="24dp"
|
|
||||||
android:height="24dp"
|
|
||||||
android:viewportWidth="24.0"
|
|
||||||
android:viewportHeight="24.0">
|
|
||||||
<path
|
|
||||||
android:pathData="M12,2C6.5,2 2,6.5 2,12s4.5,10 10,10 10,-4.5 10,-10S17.5,2 12,2zM4,12c0,-4.4 3.6,-8 8,-8 1.8,0 3.5,0.6 4.9,1.7L5.7,16.9C4.6,15.5 4,13.8 4,12zM12,20c-1.8,0 -3.5,-0.6 -4.9,-1.7L18.3,7.1C19.4,8.5 20,10.2 20,12c0,4.4 -3.6,8 -8,8z"
|
|
||||||
android:fillColor="#000000"/>
|
|
||||||
</vector>
|
|
@@ -1,25 +0,0 @@
|
|||||||
<!--
|
|
||||||
~ Copyright (C) 2020 The Android Open Source Project
|
|
||||||
~
|
|
||||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
~ you may not use this file except in compliance with the License.
|
|
||||||
~ You may obtain a copy of the License at
|
|
||||||
~
|
|
||||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
~
|
|
||||||
~ Unless required by applicable law or agreed to in writing, software
|
|
||||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
~ See the License for the specific language governing permissions and
|
|
||||||
~ limitations under the License.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:width="24dp"
|
|
||||||
android:height="24dp"
|
|
||||||
android:viewportWidth="24.0"
|
|
||||||
android:viewportHeight="24.0">
|
|
||||||
<path
|
|
||||||
android:pathData="M15,8c0,-1.42 -0.5,-2.73 -1.33,-3.76 0.42,-0.14 0.86,-0.24 1.33,-0.24 2.21,0 4,1.79 4,4s-1.79,4 -4,4c-0.43,0 -0.84,-0.09 -1.23,-0.21 -0.03,-0.01 -0.06,-0.02 -0.1,-0.03C14.5,10.73 15,9.42 15,8zM16.66,13.13C18.03,14.06 19,15.32 19,17v3h4v-3c0,-2.18 -3.58,-3.47 -6.34,-3.87zM9,6c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2m0,9c-2.7,0 -5.8,1.29 -6,2.01L3,18h12v-1c-0.2,-0.71 -3.3,-2 -6,-2M9,4c2.21,0 4,1.79 4,4s-1.79,4 -4,4 -4,-1.79 -4,-4 1.79,-4 4,-4zM9,13c2.67,0 8,1.34 8,4v3L1,20v-3c0,-2.66 5.33,-4 8,-4z"
|
|
||||||
android:fillColor="#000000"/>
|
|
||||||
</vector>
|
|
@@ -15,13 +15,12 @@
|
|||||||
~ limitations under the License.
|
~ limitations under the License.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:padding="@dimen/notification_importance_toggle_marginTop"
|
android:orientation="vertical"
|
||||||
android:orientation="vertical">
|
android:padding="@dimen/notification_importance_toggle_marginTop">
|
||||||
|
|
||||||
<!-- If bubbles is managed by the admin this is used to inform the user. -->
|
<!-- If bubbles is managed by the admin this is used to inform the user. -->
|
||||||
<TextView
|
<TextView
|
||||||
@@ -30,102 +29,45 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:padding="@dimen/notification_importance_button_padding"
|
android:padding="@dimen/notification_importance_button_padding"
|
||||||
android:textAppearance="@style/TextAppearance.Small"
|
android:textAppearance="@style/TextAppearance.Small"
|
||||||
android:visibility="gone"
|
android:visibility="gone" />
|
||||||
/>
|
|
||||||
|
|
||||||
<com.android.settings.notification.NotificationButtonRelativeLayout
|
<RadioGroup
|
||||||
android:id="@+id/bubble_all"
|
android:id="@+id/radio_group"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:padding="@dimen/notification_importance_button_padding"
|
android:checkedButton="@+id/redact_sensitive">
|
||||||
android:clickable="true"
|
|
||||||
android:focusable="true">
|
<RadioButton
|
||||||
<ImageView
|
android:id="@+id/bubble_all"
|
||||||
android:id="@+id/bubble_all_icon"
|
style="@style/SudRadioButton"
|
||||||
android:src="@drawable/ic_bubble_all"
|
|
||||||
android:background="@android:color/transparent"
|
|
||||||
android:layout_centerVertical="true"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:clickable="false"
|
android:layout_marginVertical="0dp"
|
||||||
android:focusable="false"/>
|
android:fontFamily="@*android:string/config_headlineFontFamily"
|
||||||
<TextView
|
android:minHeight="56dp"
|
||||||
android:id="@+id/bubble_all_label"
|
android:text="@string/bubble_app_setting_all"
|
||||||
android:layout_width="match_parent"
|
android:textColor="?android:attr/textColorSecondary" />
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_centerVertical="true"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:maxLines="3"
|
|
||||||
android:clickable="false"
|
|
||||||
android:focusable="false"
|
|
||||||
android:layout_toEndOf="@id/bubble_all_icon"
|
|
||||||
android:layout_marginStart="@dimen/notification_importance_drawable_padding"
|
|
||||||
android:textAppearance="@style/TextAppearance.NotificationImportanceButton.Unselected"
|
|
||||||
android:text="@string/bubble_app_setting_all"/>
|
|
||||||
</com.android.settings.notification.NotificationButtonRelativeLayout>
|
|
||||||
|
|
||||||
<com.android.settings.notification.NotificationButtonRelativeLayout
|
<RadioButton
|
||||||
android:id="@+id/bubble_selected"
|
android:id="@+id/bubble_selected"
|
||||||
android:layout_width="match_parent"
|
style="@style/SudRadioButton"
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:padding="@dimen/notification_importance_button_padding"
|
|
||||||
android:layout_marginTop="@dimen/notification_importance_button_separation"
|
|
||||||
android:clickable="true"
|
|
||||||
android:focusable="true">
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/bubble_selected_icon"
|
|
||||||
android:src="@drawable/ic_bubble_selected"
|
|
||||||
android:background="@android:color/transparent"
|
|
||||||
android:layout_centerVertical="true"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:clickable="false"
|
android:layout_marginVertical="0dp"
|
||||||
android:focusable="false"/>
|
android:fontFamily="@*android:string/config_headlineFontFamily"
|
||||||
<TextView
|
android:minHeight="56dp"
|
||||||
android:id="@+id/bubble_selected_label"
|
android:text="@string/bubble_app_setting_selected"
|
||||||
android:layout_width="match_parent"
|
android:textColor="?android:attr/textColorSecondary" />
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_centerVertical="true"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:maxLines="3"
|
|
||||||
android:clickable="false"
|
|
||||||
android:focusable="false"
|
|
||||||
android:layout_toEndOf="@id/bubble_selected_icon"
|
|
||||||
android:layout_marginStart="@dimen/notification_importance_drawable_padding"
|
|
||||||
android:textAppearance="@style/TextAppearance.NotificationImportanceButton.Unselected"
|
|
||||||
android:text="@string/bubble_app_setting_selected"/>
|
|
||||||
</com.android.settings.notification.NotificationButtonRelativeLayout>
|
|
||||||
|
|
||||||
<com.android.settings.notification.NotificationButtonRelativeLayout
|
<RadioButton
|
||||||
android:id="@+id/bubble_none"
|
android:id="@+id/bubble_none"
|
||||||
android:layout_width="match_parent"
|
style="@style/SudRadioButton"
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:padding="@dimen/notification_importance_button_padding"
|
|
||||||
android:layout_marginTop="@dimen/notification_importance_button_separation"
|
|
||||||
android:clickable="true"
|
|
||||||
android:focusable="true">
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/bubble_none_icon"
|
|
||||||
android:src="@drawable/ic_bubble_none"
|
|
||||||
android:background="@android:color/transparent"
|
|
||||||
android:layout_centerVertical="true"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:clickable="false"
|
android:layout_marginVertical="0dp"
|
||||||
android:focusable="false"/>
|
android:fontFamily="@*android:string/config_headlineFontFamily"
|
||||||
<TextView
|
android:minHeight="56dp"
|
||||||
android:id="@+id/bubble_none_label"
|
android:text="@string/bubble_app_setting_none"
|
||||||
android:layout_width="match_parent"
|
android:textColor="?android:attr/textColorSecondary" />
|
||||||
android:layout_height="wrap_content"
|
</RadioGroup>
|
||||||
android:layout_centerVertical="true"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:maxLines="3"
|
|
||||||
android:clickable="false"
|
|
||||||
android:focusable="false"
|
|
||||||
android:layout_toEndOf="@id/bubble_none_icon"
|
|
||||||
android:layout_marginStart="@dimen/notification_importance_drawable_padding"
|
|
||||||
android:textAppearance="@style/TextAppearance.NotificationImportanceButton.Unselected"
|
|
||||||
android:text="@string/bubble_app_setting_none"/>
|
|
||||||
</com.android.settings.notification.NotificationButtonRelativeLayout>
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
@@ -21,34 +21,27 @@ import static android.app.NotificationManager.BUBBLE_PREFERENCE_NONE;
|
|||||||
import static android.app.NotificationManager.BUBBLE_PREFERENCE_SELECTED;
|
import static android.app.NotificationManager.BUBBLE_PREFERENCE_SELECTED;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.res.ColorStateList;
|
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.ImageView;
|
import android.widget.RadioButton;
|
||||||
import android.widget.TextView;
|
import android.widget.RadioGroup;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
import androidx.preference.PreferenceViewHolder;
|
import androidx.preference.PreferenceViewHolder;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.Utils;
|
|
||||||
import com.android.settingslib.RestrictedLockUtils;
|
import com.android.settingslib.RestrictedLockUtils;
|
||||||
import com.android.settingslib.RestrictedPreferenceHelper;
|
import com.android.settingslib.RestrictedPreferenceHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A tri-state preference allowing a user to specify what gets to bubble.
|
* A tri-state preference allowing a user to specify what gets to bubble.
|
||||||
*/
|
*/
|
||||||
public class BubblePreference extends Preference implements View.OnClickListener {
|
public class BubblePreference extends Preference implements RadioGroup.OnCheckedChangeListener {
|
||||||
RestrictedPreferenceHelper mHelper;
|
RestrictedPreferenceHelper mHelper;
|
||||||
|
|
||||||
private int mSelectedPreference;
|
private int mSelectedPreference;
|
||||||
|
|
||||||
private Context mContext;
|
|
||||||
|
|
||||||
private ButtonViewHolder mBubbleAllButton;
|
|
||||||
private ButtonViewHolder mBubbleSelectedButton;
|
|
||||||
private ButtonViewHolder mBubbleNoneButton;
|
|
||||||
|
|
||||||
private boolean mSelectedVisible;
|
private boolean mSelectedVisible;
|
||||||
|
|
||||||
public BubblePreference(Context context) {
|
public BubblePreference(Context context) {
|
||||||
@@ -64,16 +57,16 @@ public class BubblePreference extends Preference implements View.OnClickListener
|
|||||||
}
|
}
|
||||||
|
|
||||||
public BubblePreference(Context context, AttributeSet attrs,
|
public BubblePreference(Context context, AttributeSet attrs,
|
||||||
int defStyleAttr, int defStyleRes) {
|
int defStyleAttr, int defStyleRes) {
|
||||||
super(context, attrs, defStyleAttr, defStyleRes);
|
super(context, attrs, defStyleAttr, defStyleRes);
|
||||||
mHelper = new RestrictedPreferenceHelper(context, this, attrs);
|
mHelper = new RestrictedPreferenceHelper(context, this, attrs);
|
||||||
mHelper.useAdminDisabledSummary(true);
|
mHelper.useAdminDisabledSummary(true);
|
||||||
mContext = context;
|
|
||||||
setLayoutResource(R.layout.bubble_preference);
|
setLayoutResource(R.layout.bubble_preference);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setSelectedPreference(int preference) {
|
public void setSelectedPreference(int preference) {
|
||||||
mSelectedPreference = preference;
|
mSelectedPreference = preference;
|
||||||
|
notifyChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getSelectedPreference() {
|
public int getSelectedPreference() {
|
||||||
@@ -92,9 +85,8 @@ public class BubblePreference extends Preference implements View.OnClickListener
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onBindViewHolder(final PreferenceViewHolder holder) {
|
public void onBindViewHolder(@NonNull final PreferenceViewHolder holder) {
|
||||||
super.onBindViewHolder(holder);
|
super.onBindViewHolder(holder);
|
||||||
|
|
||||||
final boolean disabledByAdmin = mHelper.isDisabledByAdmin();
|
final boolean disabledByAdmin = mHelper.isDisabledByAdmin();
|
||||||
View summary = holder.findViewById(android.R.id.summary);
|
View summary = holder.findViewById(android.R.id.summary);
|
||||||
if (disabledByAdmin) {
|
if (disabledByAdmin) {
|
||||||
@@ -105,74 +97,34 @@ public class BubblePreference extends Preference implements View.OnClickListener
|
|||||||
}
|
}
|
||||||
holder.itemView.setClickable(false);
|
holder.itemView.setClickable(false);
|
||||||
|
|
||||||
View bubbleAll = holder.findViewById(R.id.bubble_all);
|
RadioButton bubbleAllButton = (RadioButton) holder.findViewById(R.id.bubble_all);
|
||||||
ImageView bubbleAllImage = (ImageView) holder.findViewById(R.id.bubble_all_icon);
|
bubbleAllButton.setChecked(mSelectedPreference == BUBBLE_PREFERENCE_ALL);
|
||||||
TextView bubbleAllText = (TextView) holder.findViewById(R.id.bubble_all_label);
|
bubbleAllButton.setTag(BUBBLE_PREFERENCE_ALL);
|
||||||
mBubbleAllButton = new ButtonViewHolder(bubbleAll, bubbleAllImage, bubbleAllText,
|
bubbleAllButton.setVisibility(disabledByAdmin ? View.GONE : View.VISIBLE);
|
||||||
BUBBLE_PREFERENCE_ALL);
|
|
||||||
mBubbleAllButton.setSelected(mContext, mSelectedPreference == BUBBLE_PREFERENCE_ALL);
|
|
||||||
bubbleAll.setTag(BUBBLE_PREFERENCE_ALL);
|
|
||||||
bubbleAll.setOnClickListener(this);
|
|
||||||
bubbleAll.setVisibility(disabledByAdmin ? View.GONE : View.VISIBLE);
|
|
||||||
|
|
||||||
View bubbleSelected = holder.findViewById(R.id.bubble_selected);
|
RadioButton bubbleSelectedButton = (RadioButton) holder.findViewById(R.id.bubble_selected);
|
||||||
ImageView bubbleSelectedImage = (ImageView) holder.findViewById(R.id.bubble_selected_icon);
|
bubbleSelectedButton.setChecked(mSelectedPreference == BUBBLE_PREFERENCE_SELECTED);
|
||||||
TextView bubbleSelectedText = (TextView) holder.findViewById(R.id.bubble_selected_label);
|
bubbleSelectedButton.setTag(BUBBLE_PREFERENCE_SELECTED);
|
||||||
mBubbleSelectedButton = new ButtonViewHolder(bubbleSelected, bubbleSelectedImage,
|
int selectedButtonVisibility =
|
||||||
bubbleSelectedText, BUBBLE_PREFERENCE_SELECTED);
|
(!mSelectedVisible || disabledByAdmin) ? View.GONE : View.VISIBLE;
|
||||||
mBubbleSelectedButton.setSelected(mContext,
|
bubbleSelectedButton.setVisibility(selectedButtonVisibility);
|
||||||
mSelectedPreference == BUBBLE_PREFERENCE_SELECTED);
|
|
||||||
bubbleSelected.setTag(BUBBLE_PREFERENCE_SELECTED);
|
|
||||||
bubbleSelected.setOnClickListener(this);
|
|
||||||
bubbleSelected.setVisibility((!mSelectedVisible || disabledByAdmin)
|
|
||||||
? View.GONE : View.VISIBLE);
|
|
||||||
|
|
||||||
View bubbleNone = holder.findViewById(R.id.bubble_none);
|
RadioButton bubbleNoneButton = (RadioButton) holder.findViewById(R.id.bubble_none);
|
||||||
ImageView bubbleNoneImage = (ImageView) holder.findViewById(R.id.bubble_none_icon);
|
bubbleNoneButton.setChecked(mSelectedPreference == BUBBLE_PREFERENCE_NONE);
|
||||||
TextView bubbleNoneText = (TextView) holder.findViewById(R.id.bubble_none_label);
|
bubbleNoneButton.setTag(BUBBLE_PREFERENCE_NONE);
|
||||||
mBubbleNoneButton = new ButtonViewHolder(bubbleNone, bubbleNoneImage, bubbleNoneText,
|
bubbleNoneButton.setVisibility(disabledByAdmin ? View.GONE : View.VISIBLE);
|
||||||
BUBBLE_PREFERENCE_NONE);
|
|
||||||
mBubbleNoneButton.setSelected(mContext, mSelectedPreference == BUBBLE_PREFERENCE_NONE);
|
RadioGroup bublesRadioGroup = (RadioGroup) holder.findViewById(R.id.radio_group);
|
||||||
bubbleNone.setTag(BUBBLE_PREFERENCE_NONE);
|
bublesRadioGroup.setOnCheckedChangeListener(this);
|
||||||
bubbleNone.setOnClickListener(this);
|
|
||||||
bubbleNone.setVisibility(disabledByAdmin ? View.GONE : View.VISIBLE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onCheckedChanged(@NonNull RadioGroup group, int checkedId) {
|
||||||
final int selected = (int) v.getTag();
|
View v = group.findViewById(checkedId);
|
||||||
callChangeListener(selected);
|
if (v == null || v.getTag() == null) {
|
||||||
|
return;
|
||||||
mBubbleAllButton.setSelected(mContext, selected == BUBBLE_PREFERENCE_ALL);
|
|
||||||
mBubbleSelectedButton.setSelected(mContext, selected == BUBBLE_PREFERENCE_SELECTED);
|
|
||||||
mBubbleNoneButton.setSelected(mContext, selected == BUBBLE_PREFERENCE_NONE);
|
|
||||||
}
|
|
||||||
|
|
||||||
private class ButtonViewHolder {
|
|
||||||
private View mView;
|
|
||||||
private ImageView mImageView;
|
|
||||||
private TextView mTextView;
|
|
||||||
private int mId;
|
|
||||||
|
|
||||||
ButtonViewHolder(View v, ImageView iv, TextView tv, int identifier) {
|
|
||||||
mView = v;
|
|
||||||
mImageView = iv;
|
|
||||||
mTextView = tv;
|
|
||||||
mId = identifier;
|
|
||||||
}
|
|
||||||
|
|
||||||
void setSelected(Context context, boolean selected) {
|
|
||||||
mView.setBackground(mContext.getDrawable(selected
|
|
||||||
? R.drawable.notification_importance_button_background_selected
|
|
||||||
: R.drawable.notification_importance_button_background_unselected));
|
|
||||||
mView.setSelected(selected);
|
|
||||||
|
|
||||||
int colorResId = selected
|
|
||||||
? R.attr.notification_importance_button_foreground_color_selected
|
|
||||||
: R.attr.notification_importance_button_foreground_color_unselected;
|
|
||||||
ColorStateList stateList = Utils.getColorAttr(context, colorResId);
|
|
||||||
mImageView.setImageTintList(stateList);
|
|
||||||
mTextView.setTextColor(stateList);
|
|
||||||
}
|
}
|
||||||
|
int selectedTag = (int) v.getTag();
|
||||||
|
callChangeListener(selectedTag);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user