diff options
| author | 2013-10-10 12:56:55 -0700 | |
|---|---|---|
| committer | 2013-10-10 12:56:55 -0700 | |
| commit | e4a1e1c48b0e27868ca171e95e882b1de7bbfedd (patch) | |
| tree | 86c3be5380c9ce40ec06dafdae88b34e41d90366 | |
| parent | c9a4349a2eef99c9db49f62f045b12ea03ece998 (diff) | |
| parent | 97fee8186789beb281d1dcfcd0d69f885a2a1e3e (diff) | |
am 97fee818: Merge "Reinflate QSB RSSI Tile on config change" into klp-dev
* commit '97fee8186789beb281d1dcfcd0d69f885a2a1e3e':
Reinflate QSB RSSI Tile on config change
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java | 8 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsTileView.java | 14 |
2 files changed, 22 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java index 9d0418dab44d..6747d5027d00 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java @@ -34,6 +34,7 @@ import android.os.UserHandle; import android.provider.Settings; import android.provider.Settings.SettingNotFoundException; import android.text.TextUtils; +import android.view.LayoutInflater; import android.view.View; import android.view.inputmethod.InputMethodInfo; import android.view.inputmethod.InputMethodManager; @@ -308,6 +309,7 @@ class QuickSettingsModel implements BluetoothStateChangeCallback, refreshBluetoothTile(); refreshBrightnessTile(); refreshRotationLockTile(); + refreshRssiTile(); } // Settings @@ -501,6 +503,12 @@ class QuickSettingsModel implements BluetoothStateChangeCallback, } } + void refreshRssiTile() { + // We reinflate the original view due to potential styling changes that may have + // taken place due to a configuration change. + mRSSITile.reinflateContent(LayoutInflater.from(mContext)); + } + // Bluetooth void addBluetoothTile(QuickSettingsTileView view, RefreshCallback cb) { mBluetoothTile = view; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsTileView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsTileView.java index 9cff242924c1..3d520f7e400c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsTileView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsTileView.java @@ -18,6 +18,7 @@ package com.android.systemui.statusbar.phone; import android.content.Context; import android.util.AttributeSet; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.widget.FrameLayout; @@ -26,13 +27,16 @@ import android.widget.FrameLayout; * */ class QuickSettingsTileView extends FrameLayout { + private static final String TAG = "QuickSettingsTileView"; + private int mContentLayoutId; private int mColSpan; private int mRowSpan; public QuickSettingsTileView(Context context, AttributeSet attrs) { super(context, attrs); + mContentLayoutId = -1; mColSpan = 1; mRowSpan = 1; } @@ -46,9 +50,19 @@ class QuickSettingsTileView extends FrameLayout { } void setContent(int layoutId, LayoutInflater inflater) { + mContentLayoutId = layoutId; inflater.inflate(layoutId, this); } + void reinflateContent(LayoutInflater inflater) { + if (mContentLayoutId != -1) { + removeAllViews(); + setContent(mContentLayoutId, inflater); + } else { + Log.e(TAG, "Not reinflating content: No layoutId set"); + } + } + @Override public void setVisibility(int vis) { if (QuickSettings.DEBUG_GONE_TILES) { |