Loading core/java/com/android/internal/statusbar/IStatusBar.aidl +5 −0 Original line number Original line Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.internal.statusbar; package com.android.internal.statusbar; import android.content.ComponentName; import android.os.Bundle; import android.os.Bundle; import android.service.notification.StatusBarNotification; import android.service.notification.StatusBarNotification; Loading Loading @@ -88,4 +89,8 @@ oneway interface IStatusBar * Picture-in-picture overlay menu will be shown instead otherwise. * Picture-in-picture overlay menu will be shown instead otherwise. */ */ void requestTvPictureInPicture(); void requestTvPictureInPicture(); void addQsTile(in ComponentName tile); void remQsTile(in ComponentName tile); void clickQsTile(in ComponentName tile); } } core/java/com/android/internal/statusbar/IStatusBarService.aidl +5 −0 Original line number Original line Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.internal.statusbar; package com.android.internal.statusbar; import android.content.ComponentName; import android.os.Bundle; import android.os.Bundle; import android.service.notification.StatusBarNotification; import android.service.notification.StatusBarNotification; Loading Loading @@ -103,4 +104,8 @@ interface IStatusBarService * Picture-in-picture overlay menu will be shown instead otherwise. * Picture-in-picture overlay menu will be shown instead otherwise. */ */ void requestTvPictureInPicture(); void requestTvPictureInPicture(); void addTile(in ComponentName tile); void remTile(in ComponentName tile); void clickTile(in ComponentName tile); } } packages/SystemUI/src/com/android/systemui/qs/QSPanel.java +13 −0 Original line number Original line Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.systemui.qs; import android.animation.Animator; import android.animation.Animator; import android.animation.Animator.AnimatorListener; import android.animation.Animator.AnimatorListener; import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorListenerAdapter; import android.content.ComponentName; import android.content.Context; import android.content.Context; import android.content.Intent; import android.content.Intent; import android.content.res.Configuration; import android.content.res.Configuration; Loading @@ -41,6 +42,7 @@ import com.android.systemui.FontSizeUtils; import com.android.systemui.R; import com.android.systemui.R; import com.android.systemui.qs.QSTile.DetailAdapter; import com.android.systemui.qs.QSTile.DetailAdapter; import com.android.systemui.qs.customize.QSCustomizer; import com.android.systemui.qs.customize.QSCustomizer; import com.android.systemui.qs.external.CustomTile; import com.android.systemui.settings.BrightnessController; import com.android.systemui.settings.BrightnessController; import com.android.systemui.settings.ToggleSlider; import com.android.systemui.settings.ToggleSlider; import com.android.systemui.statusbar.phone.QSTileHost; import com.android.systemui.statusbar.phone.QSTileHost; Loading Loading @@ -538,6 +540,17 @@ public class QSPanel extends FrameLayout implements Tunable { fireScanStateChanged(scanState); fireScanStateChanged(scanState); } } public void clickTile(ComponentName tile) { final String spec = CustomTile.toSpec(tile); final int N = mRecords.size(); for (int i = 0; i < N; i++) { if (mRecords.get(i).tile.getTileSpec().equals(spec)) { mRecords.get(i).tile.click(); break; } } } private class H extends Handler { private class H extends Handler { private static final int SHOW_DETAIL = 1; private static final int SHOW_DETAIL = 1; private static final int SET_TILE_VISIBILITY = 2; private static final int SET_TILE_VISIBILITY = 2; Loading packages/SystemUI/src/com/android/systemui/qs/customize/CustomQSPanel.java +1 −26 Original line number Original line Diff line number Diff line Loading @@ -122,32 +122,7 @@ public class CustomQSPanel extends QSPanel { } } public void saveCurrentTiles() { public void saveCurrentTiles() { for (int i = 0; i < mSavedTiles.size(); i++) { mHost.changeTiles(mSavedTiles, mTiles); String tileSpec = mSavedTiles.get(i); if (!tileSpec.startsWith(CustomTile.PREFIX)) continue; if (!mTiles.contains(tileSpec)) { Intent intent = new Intent().setComponent(CustomTile.getComponentFromSpec(tileSpec)); TileLifecycleManager lifecycleManager = new TileLifecycleManager(new Handler(), mContext, intent, new UserHandle(ActivityManager.getCurrentUser())); lifecycleManager.onStopListening(); lifecycleManager.onTileRemoved(); lifecycleManager.flushMessagesAndUnbind(); } } for (int i = 0; i < mTiles.size(); i++) { String tileSpec = mTiles.get(i); if (!tileSpec.startsWith(CustomTile.PREFIX)) continue; if (!mSavedTiles.contains(tileSpec)) { Intent intent = new Intent().setComponent(CustomTile.getComponentFromSpec(tileSpec)); TileLifecycleManager lifecycleManager = new TileLifecycleManager(new Handler(), mContext, intent, new UserHandle(ActivityManager.getCurrentUser())); lifecycleManager.onTileAdded(); lifecycleManager.flushMessagesAndUnbind(); } } if (DEBUG) Log.d(TAG, "saveCurrentTiles " + mTiles); Secure.putStringForUser(getContext().getContentResolver(), QSTileHost.TILES_SETTING, TextUtils.join(",", mTiles), ActivityManager.getCurrentUser()); } } public void stashCurrentTiles() { public void stashCurrentTiles() { Loading packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -229,7 +229,7 @@ public class TileAdapter extends BaseAdapter { for (ResolveInfo info : services) { for (ResolveInfo info : services) { String packageName = info.serviceInfo.packageName; String packageName = info.serviceInfo.packageName; ComponentName componentName = new ComponentName(packageName, info.serviceInfo.name); ComponentName componentName = new ComponentName(packageName, info.serviceInfo.name); String spec = CustomTile.PREFIX + componentName.flattenToShortString() + ")"; String spec = CustomTile.toSpec(componentName); if (mCurrentTiles.contains(spec)) { if (mCurrentTiles.contains(spec)) { continue; continue; } } Loading Loading
core/java/com/android/internal/statusbar/IStatusBar.aidl +5 −0 Original line number Original line Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.internal.statusbar; package com.android.internal.statusbar; import android.content.ComponentName; import android.os.Bundle; import android.os.Bundle; import android.service.notification.StatusBarNotification; import android.service.notification.StatusBarNotification; Loading Loading @@ -88,4 +89,8 @@ oneway interface IStatusBar * Picture-in-picture overlay menu will be shown instead otherwise. * Picture-in-picture overlay menu will be shown instead otherwise. */ */ void requestTvPictureInPicture(); void requestTvPictureInPicture(); void addQsTile(in ComponentName tile); void remQsTile(in ComponentName tile); void clickQsTile(in ComponentName tile); } }
core/java/com/android/internal/statusbar/IStatusBarService.aidl +5 −0 Original line number Original line Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.internal.statusbar; package com.android.internal.statusbar; import android.content.ComponentName; import android.os.Bundle; import android.os.Bundle; import android.service.notification.StatusBarNotification; import android.service.notification.StatusBarNotification; Loading Loading @@ -103,4 +104,8 @@ interface IStatusBarService * Picture-in-picture overlay menu will be shown instead otherwise. * Picture-in-picture overlay menu will be shown instead otherwise. */ */ void requestTvPictureInPicture(); void requestTvPictureInPicture(); void addTile(in ComponentName tile); void remTile(in ComponentName tile); void clickTile(in ComponentName tile); } }
packages/SystemUI/src/com/android/systemui/qs/QSPanel.java +13 −0 Original line number Original line Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.systemui.qs; import android.animation.Animator; import android.animation.Animator; import android.animation.Animator.AnimatorListener; import android.animation.Animator.AnimatorListener; import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorListenerAdapter; import android.content.ComponentName; import android.content.Context; import android.content.Context; import android.content.Intent; import android.content.Intent; import android.content.res.Configuration; import android.content.res.Configuration; Loading @@ -41,6 +42,7 @@ import com.android.systemui.FontSizeUtils; import com.android.systemui.R; import com.android.systemui.R; import com.android.systemui.qs.QSTile.DetailAdapter; import com.android.systemui.qs.QSTile.DetailAdapter; import com.android.systemui.qs.customize.QSCustomizer; import com.android.systemui.qs.customize.QSCustomizer; import com.android.systemui.qs.external.CustomTile; import com.android.systemui.settings.BrightnessController; import com.android.systemui.settings.BrightnessController; import com.android.systemui.settings.ToggleSlider; import com.android.systemui.settings.ToggleSlider; import com.android.systemui.statusbar.phone.QSTileHost; import com.android.systemui.statusbar.phone.QSTileHost; Loading Loading @@ -538,6 +540,17 @@ public class QSPanel extends FrameLayout implements Tunable { fireScanStateChanged(scanState); fireScanStateChanged(scanState); } } public void clickTile(ComponentName tile) { final String spec = CustomTile.toSpec(tile); final int N = mRecords.size(); for (int i = 0; i < N; i++) { if (mRecords.get(i).tile.getTileSpec().equals(spec)) { mRecords.get(i).tile.click(); break; } } } private class H extends Handler { private class H extends Handler { private static final int SHOW_DETAIL = 1; private static final int SHOW_DETAIL = 1; private static final int SET_TILE_VISIBILITY = 2; private static final int SET_TILE_VISIBILITY = 2; Loading
packages/SystemUI/src/com/android/systemui/qs/customize/CustomQSPanel.java +1 −26 Original line number Original line Diff line number Diff line Loading @@ -122,32 +122,7 @@ public class CustomQSPanel extends QSPanel { } } public void saveCurrentTiles() { public void saveCurrentTiles() { for (int i = 0; i < mSavedTiles.size(); i++) { mHost.changeTiles(mSavedTiles, mTiles); String tileSpec = mSavedTiles.get(i); if (!tileSpec.startsWith(CustomTile.PREFIX)) continue; if (!mTiles.contains(tileSpec)) { Intent intent = new Intent().setComponent(CustomTile.getComponentFromSpec(tileSpec)); TileLifecycleManager lifecycleManager = new TileLifecycleManager(new Handler(), mContext, intent, new UserHandle(ActivityManager.getCurrentUser())); lifecycleManager.onStopListening(); lifecycleManager.onTileRemoved(); lifecycleManager.flushMessagesAndUnbind(); } } for (int i = 0; i < mTiles.size(); i++) { String tileSpec = mTiles.get(i); if (!tileSpec.startsWith(CustomTile.PREFIX)) continue; if (!mSavedTiles.contains(tileSpec)) { Intent intent = new Intent().setComponent(CustomTile.getComponentFromSpec(tileSpec)); TileLifecycleManager lifecycleManager = new TileLifecycleManager(new Handler(), mContext, intent, new UserHandle(ActivityManager.getCurrentUser())); lifecycleManager.onTileAdded(); lifecycleManager.flushMessagesAndUnbind(); } } if (DEBUG) Log.d(TAG, "saveCurrentTiles " + mTiles); Secure.putStringForUser(getContext().getContentResolver(), QSTileHost.TILES_SETTING, TextUtils.join(",", mTiles), ActivityManager.getCurrentUser()); } } public void stashCurrentTiles() { public void stashCurrentTiles() { Loading
packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -229,7 +229,7 @@ public class TileAdapter extends BaseAdapter { for (ResolveInfo info : services) { for (ResolveInfo info : services) { String packageName = info.serviceInfo.packageName; String packageName = info.serviceInfo.packageName; ComponentName componentName = new ComponentName(packageName, info.serviceInfo.name); ComponentName componentName = new ComponentName(packageName, info.serviceInfo.name); String spec = CustomTile.PREFIX + componentName.flattenToShortString() + ")"; String spec = CustomTile.toSpec(componentName); if (mCurrentTiles.contains(spec)) { if (mCurrentTiles.contains(spec)) { continue; continue; } } Loading