Loading packages/SystemUI/res/values/strings.xml +3 −0 Original line number Diff line number Diff line Loading @@ -1850,6 +1850,9 @@ <!-- Label for area where tiles can be dragged in to [CHAR LIMIT=60] --> <string name="drag_to_remove_tiles">Drag here to remove</string> <!-- Label to indicate to users that additional tiles cannot be removed. [CHAR LIMIT=60] --> <string name="drag_to_remove_disabled">You need at least 6 tiles</string> <!-- Button to edit the tile ordering of quick settings [CHAR LIMIT=60] --> <string name="qs_edit">Edit</string> Loading packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java +21 −8 Original line number Diff line number Diff line Loading @@ -42,19 +42,19 @@ import android.widget.TextView; import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto; import com.android.systemui.R; import com.android.systemui.qs.tileimpl.QSIconViewImpl; import com.android.systemui.qs.QSTileHost; import com.android.systemui.qs.customize.TileAdapter.Holder; import com.android.systemui.qs.customize.TileQueryHelper.TileInfo; import com.android.systemui.qs.customize.TileQueryHelper.TileStateListener; import com.android.systemui.qs.external.CustomTile; import com.android.systemui.qs.QSTileHost; import com.android.systemui.qs.tileimpl.QSIconViewImpl; import com.android.systemui.statusbar.phone.SystemUIDialog; import java.util.ArrayList; import java.util.List; public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileStateListener { private static final int MIN_NUM_TILES = 6; private static final long DRAG_LENGTH = 100; private static final float DRAG_SCALE = 1.2f; public static final long MOVE_DURATION = 150; Loading Loading @@ -219,9 +219,15 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta return; } if (holder.getItemViewType() == TYPE_EDIT) { ((TextView) holder.itemView.findViewById(android.R.id.title)).setText( mCurrentDrag != null ? R.string.drag_to_remove_tiles : R.string.drag_to_add_tiles); final int titleResId; if (mCurrentDrag == null) { titleResId = R.string.drag_to_add_tiles; } else if (!canRemoveTiles() && mCurrentDrag.getAdapterPosition() < mEditIndex) { titleResId = R.string.drag_to_remove_disabled; } else { titleResId = R.string.drag_to_remove_tiles; } ((TextView) holder.itemView.findViewById(android.R.id.title)).setText(titleResId); return; } if (holder.getItemViewType() == TYPE_ACCESSIBLE_DROP) { Loading Loading @@ -286,7 +292,7 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta if (mAccessibilityMoving) { selectPosition(position, v); } else { if (position < mEditIndex) { if (position < mEditIndex && canRemoveTiles()) { showAccessibilityDialog(position, v); } else { startAccessibleDrag(position); Loading @@ -298,6 +304,10 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta } } private boolean canRemoveTiles() { return mCurrentSpecs.size() > MIN_NUM_TILES; } private void selectPosition(int position, View v) { // Remove the placeholder. mAccessibilityMoving = false; Loading Loading @@ -507,7 +517,7 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta break; } } }; } private final ItemTouchHelper.Callback mCallbacks = new ItemTouchHelper.Callback() { Loading Loading @@ -551,6 +561,9 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta @Override public boolean canDropOver(RecyclerView recyclerView, ViewHolder current, ViewHolder target) { if (!canRemoveTiles() && current.getAdapterPosition() < mEditIndex) { return target.getAdapterPosition() < mEditIndex; } return target.getAdapterPosition() <= mEditIndex + 1; } Loading Loading
packages/SystemUI/res/values/strings.xml +3 −0 Original line number Diff line number Diff line Loading @@ -1850,6 +1850,9 @@ <!-- Label for area where tiles can be dragged in to [CHAR LIMIT=60] --> <string name="drag_to_remove_tiles">Drag here to remove</string> <!-- Label to indicate to users that additional tiles cannot be removed. [CHAR LIMIT=60] --> <string name="drag_to_remove_disabled">You need at least 6 tiles</string> <!-- Button to edit the tile ordering of quick settings [CHAR LIMIT=60] --> <string name="qs_edit">Edit</string> Loading
packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java +21 −8 Original line number Diff line number Diff line Loading @@ -42,19 +42,19 @@ import android.widget.TextView; import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto; import com.android.systemui.R; import com.android.systemui.qs.tileimpl.QSIconViewImpl; import com.android.systemui.qs.QSTileHost; import com.android.systemui.qs.customize.TileAdapter.Holder; import com.android.systemui.qs.customize.TileQueryHelper.TileInfo; import com.android.systemui.qs.customize.TileQueryHelper.TileStateListener; import com.android.systemui.qs.external.CustomTile; import com.android.systemui.qs.QSTileHost; import com.android.systemui.qs.tileimpl.QSIconViewImpl; import com.android.systemui.statusbar.phone.SystemUIDialog; import java.util.ArrayList; import java.util.List; public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileStateListener { private static final int MIN_NUM_TILES = 6; private static final long DRAG_LENGTH = 100; private static final float DRAG_SCALE = 1.2f; public static final long MOVE_DURATION = 150; Loading Loading @@ -219,9 +219,15 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta return; } if (holder.getItemViewType() == TYPE_EDIT) { ((TextView) holder.itemView.findViewById(android.R.id.title)).setText( mCurrentDrag != null ? R.string.drag_to_remove_tiles : R.string.drag_to_add_tiles); final int titleResId; if (mCurrentDrag == null) { titleResId = R.string.drag_to_add_tiles; } else if (!canRemoveTiles() && mCurrentDrag.getAdapterPosition() < mEditIndex) { titleResId = R.string.drag_to_remove_disabled; } else { titleResId = R.string.drag_to_remove_tiles; } ((TextView) holder.itemView.findViewById(android.R.id.title)).setText(titleResId); return; } if (holder.getItemViewType() == TYPE_ACCESSIBLE_DROP) { Loading Loading @@ -286,7 +292,7 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta if (mAccessibilityMoving) { selectPosition(position, v); } else { if (position < mEditIndex) { if (position < mEditIndex && canRemoveTiles()) { showAccessibilityDialog(position, v); } else { startAccessibleDrag(position); Loading @@ -298,6 +304,10 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta } } private boolean canRemoveTiles() { return mCurrentSpecs.size() > MIN_NUM_TILES; } private void selectPosition(int position, View v) { // Remove the placeholder. mAccessibilityMoving = false; Loading Loading @@ -507,7 +517,7 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta break; } } }; } private final ItemTouchHelper.Callback mCallbacks = new ItemTouchHelper.Callback() { Loading Loading @@ -551,6 +561,9 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta @Override public boolean canDropOver(RecyclerView recyclerView, ViewHolder current, ViewHolder target) { if (!canRemoveTiles() && current.getAdapterPosition() < mEditIndex) { return target.getAdapterPosition() < mEditIndex; } return target.getAdapterPosition() <= mEditIndex + 1; } Loading