diff options
Diffstat (limited to 'src/com/android/settings/cyanogenmod/QuickSettingsTiles.java')
-rw-r--r-- | src/com/android/settings/cyanogenmod/QuickSettingsTiles.java | 44 |
1 files changed, 42 insertions, 2 deletions
diff --git a/src/com/android/settings/cyanogenmod/QuickSettingsTiles.java b/src/com/android/settings/cyanogenmod/QuickSettingsTiles.java index 8a91832..9342f64 100644 --- a/src/com/android/settings/cyanogenmod/QuickSettingsTiles.java +++ b/src/com/android/settings/cyanogenmod/QuickSettingsTiles.java @@ -22,8 +22,10 @@ import android.content.Context; import android.content.DialogInterface; import android.content.pm.PackageManager; import android.content.res.Resources; +import android.content.res.Resources.NotFoundException; import android.graphics.drawable.Drawable; import android.os.Bundle; +import android.view.Gravity; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; @@ -32,6 +34,7 @@ import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; +import android.widget.FrameLayout; import android.widget.ArrayAdapter; import android.widget.ImageView; import android.widget.TextView; @@ -54,8 +57,10 @@ public class QuickSettingsTiles extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - mDragView = new DraggableGridView(getActivity(), null); + mDragView = new DraggableGridView(getActivity()); mContainer = container; + mContainer.setClipChildren(false); + mContainer.setClipToPadding(false); mInflater = inflater; PackageManager pm = getActivity().getPackageManager(); if (pm != null) { @@ -65,10 +70,45 @@ public class QuickSettingsTiles extends Fragment { mSystemUiResources = null; } } + int panelWidth = getItemFromSystemUi("notification_panel_width", "dimen"); + if (panelWidth != 0) { + FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(panelWidth, + FrameLayout.LayoutParams.MATCH_PARENT, Gravity.CENTER_HORIZONTAL); + mDragView.setLayoutParams(params); + } + int cellHeight = getItemFromSystemUi("quick_settings_cell_height", "dimen"); + if (cellHeight != 0) { + mDragView.setCellHeight(cellHeight); + } + int cellGap = getItemFromSystemUi("quick_settings_cell_gap", "dimen"); + if (cellGap != 0) { + mDragView.setCellGap(cellGap); + } + int columnCount = getItemFromSystemUi("quick_settings_num_columns", "integer"); + if (columnCount != 0) { + mDragView.setColumnCount(columnCount); + } mTileAdapter = new TileAdapter(getActivity(), 0); return mDragView; } + private int getItemFromSystemUi(String name, String type) { + if (mSystemUiResources != null) { + int resId = (int) mSystemUiResources.getIdentifier(name, type, "com.android.systemui"); + if (resId > 0) { + try { + if (type.equals("dimen")) { + return (int) mSystemUiResources.getDimension(resId); + } else { + return mSystemUiResources.getInteger(resId); + } + } catch (NotFoundException e) { + } + } + } + return 0; + } + void genTiles() { mDragView.removeAllViews(); ArrayList<String> tiles = QuickSettingsUtil.getTileListFromString(QuickSettingsUtil.getCurrentTiles(getActivity())); @@ -174,7 +214,7 @@ public class QuickSettingsTiles extends Fragment { public void onResume() { super.onResume(); if (Utils.isPhone(getActivity())) { - mContainer.setPadding(20, 0, 0, 0); + mContainer.setPadding(20, 0, 20, 0); } } |