Skip to content

Commit

Permalink
RC: move toggle settings into a separate tab
Browse files Browse the repository at this point in the history
In order to use a FragmentTabHost, we have to be
using the support library Activities/Fragments.

Change-Id: Ic10cd59331bc72f314f5baebe28805344445d684
Signed-off-by: Roman Birg <romanbirg@gmail.com>
  • Loading branch information
romanbb committed Dec 31, 2013
1 parent 772a781 commit 63f1f0c
Show file tree
Hide file tree
Showing 10 changed files with 217 additions and 169 deletions.
1 change: 1 addition & 0 deletions AndroidManifest.xml
Expand Up @@ -19,6 +19,7 @@
android:theme="@style/AppTheme">
<activity
android:name="com.aokp.romcontrol.MainActivity"
android:configChanges="orientation|keyboardHidden"
android:label="@string/rom_control" />

<activity
Expand Down
1 change: 1 addition & 0 deletions build.gradle
Expand Up @@ -11,6 +11,7 @@ apply plugin: 'android'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile 'com.android.support:support-v4:+'
compile 'com.android.support:support-v13:18.0.+'
}

android {
Expand Down
37 changes: 37 additions & 0 deletions res/layout/fragment_arrange_toggles.xml
@@ -0,0 +1,37 @@
<!--
Copyright 2013 AOKP
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.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>

<!--<TextView-->
<!--android:text="@string/toggles_arrange_instructions"-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="wrap_content"/>-->

<com.aokp.romcontrol.widgets.CategorySeparator
style="@style/defaultSize"/>

<com.mobeta.android.dslv.DragSortListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>

</LinearLayout>
119 changes: 0 additions & 119 deletions res/layout/fragment_configure_toggles.xml

This file was deleted.

49 changes: 37 additions & 12 deletions res/layout/fragment_toggle_setup.xml
Expand Up @@ -3,10 +3,6 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/settingsFragmentStyle">

<com.aokp.romcontrol.widgets.CategorySeparator
style="@style/defaultSize"
android:title="@string/category_toggles"/>

<com.aokp.romcontrol.settings.SingleChoiceSetting
android:layout_width="match_parent"
android:layout_height="wrap_content"
Expand All @@ -19,21 +15,50 @@
android:entryValues="@array/setting_toggleStylesValues"
/>

<com.aokp.romcontrol.settings.UrlSetting
<com.aokp.romcontrol.settings.SingleChoiceSetting
android:layout_width="match_parent"
android:layout_height="wrap_content"

android:id="@+id/toggles_per_row"
android:title="@string/toggles_per_row_title"
android:key="statusbar_toggles_number_per_row"

android:entries="@array/setting_togglesPerRow"
android:entryValues="@array/setting_togglesPerRowValues"
/>

<com.aokp.romcontrol.settings.CheckboxSetting
android:layout_width="match_parent"
android:layout_height="wrap_content"

android:id="@+id/enabled_toggles"
android:title="@string/toggle_dialog_arrange_title"
android:summary="@string/toggle_dialog_add_toggles"
android:id="@+id/toggles_fast_toggle"
android:title="@string/toggles_enable_fasttoggle_title"
android:summary="@string/toggles_enable_fasttoggle_summary"
android:key="fast_toggle"
android:defaultValue="false"
/>

<com.aokp.romcontrol.settings.SingleChoiceSetting
android:layout_width="match_parent"
android:layout_height="wrap_content"

android:id="@+id/toggles_fast_side"
android:title="@string/toggles_choose_fasttoggle_side_title"
android:summary="@string/toggles_choose_fasttoggle_side_summary"
android:key="choose_fasttoggle_side"

android:entries="@array/choose_toggle_side_entries"
android:entryValues="@array/choose_toggle_side_values"
/>

<com.aokp.romcontrol.settings.UrlSetting
<com.aokp.romcontrol.settings.CheckboxSetting
android:layout_width="match_parent"
android:layout_height="wrap_content"

android:id="@+id/arrange_toggles"
android:title="@string/toggles_order_title"
android:summary="@string/toggles_order_summary"
android:id="@+id/toggles_swipe_to_switch"
android:title="@string/toggles_swipe_to_switch_title"
android:summary="@string/toggles_swipe_to_switch_summary"
android:key="swipe_to_switch"
android:defaultValue="false"
/>
</LinearLayout>
3 changes: 3 additions & 0 deletions res/values/strings.xml
Expand Up @@ -154,4 +154,7 @@

<string name="toggles_swipe_to_switch_title">Swipe to switch</string>
<string name="toggles_swipe_to_switch_summary">Swipe to switch between notifications and Quick Settings</string>
<string name="toggle_tab_arrange">Toggle Setup</string>
<string name="toggles_tab_settings">Configure</string>
<string name="toggles_arrange_instructions">Rearrange by dragging by the handle on the right. Remove by swiping.</string>
</resources>
8 changes: 5 additions & 3 deletions src/com/aokp/romcontrol/MainActivity.java
Expand Up @@ -10,14 +10,13 @@
import android.support.v4.widget.DrawerLayout;
import android.view.Menu;
import android.view.MenuItem;
import com.aokp.romcontrol.R;
import com.aokp.romcontrol.fragments.AboutFragment;
import com.aokp.romcontrol.fragments.ArrangeTogglesFragment;
import com.aokp.romcontrol.fragments.GeneralSettingsFragment;
import com.aokp.romcontrol.fragments.HardwareKeysFragment;
import com.aokp.romcontrol.fragments.InstallerSettingsFragment;
import com.aokp.romcontrol.fragments.NavigationDrawerFragment;
import com.aokp.romcontrol.fragments.StatusbarSettingsFragment;
import com.aokp.romcontrol.fragments.TogglesTabHostFragment;


public class MainActivity extends Activity
Expand Down Expand Up @@ -51,6 +50,9 @@ protected void onCreate(Bundle savedInstanceState) {
mNavigationDrawerFragment.setUp(
R.id.navigation_drawer,
(DrawerLayout) findViewById(R.id.drawer_layout));

ActionBar bar = getActionBar();
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
}

@Override
Expand Down Expand Up @@ -84,7 +86,7 @@ public Fragment getFragmentToAttach(int position) {
break;

case 4:
fragment = new ArrangeTogglesFragment();
fragment = new TogglesTabHostFragment();
break;

case 5:
Expand Down
52 changes: 17 additions & 35 deletions src/com/aokp/romcontrol/fragments/ArrangeTogglesFragment.java
Expand Up @@ -8,11 +8,13 @@
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.res.Resources;
import android.graphics.Point;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.provider.Settings;
import android.util.Log;
import android.util.TypedValue;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
Expand All @@ -26,9 +28,6 @@
import android.widget.ListView;
import android.widget.TextView;
import com.aokp.romcontrol.R;
import com.aokp.romcontrol.settings.BaseSetting;
import com.aokp.romcontrol.settings.BaseSetting.OnSettingChangedListener;
import com.aokp.romcontrol.settings.SingleChoiceSetting;
import com.google.android.apps.dashclock.ui.DragGripView;
import com.google.android.apps.dashclock.ui.SwipeDismissListViewTouchListener;
import com.mobeta.android.dslv.DragSortController;
Expand All @@ -38,7 +37,7 @@
import java.util.List;


public class ArrangeTogglesFragment extends Fragment implements OnSettingChangedListener {
public class ArrangeTogglesFragment extends Fragment {

private static final String TAG = ArrangeTogglesFragment.class.getSimpleName();
private static final String PREF_HANDLE_KEY = "toggles_arrange_right_handle";
Expand All @@ -64,10 +63,12 @@ public void onReceive(Context context, Intent intent) {
};

ArrayList<String> mToggles;
BaseSetting mTogglesFast, mSwipeToSwitch;
SingleChoiceSetting mTogglesPerRow, mToggleStyle, mToggleSide;

ArrayList<String> toggles = new ArrayList<String>();

public ArrangeTogglesFragment() {
}

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
Expand Down Expand Up @@ -158,22 +159,24 @@ public void onResume() {
public void onPause() {
super.onPause();
getActivity().unregisterReceiver(mReceiver);
mListView.setAdapter(null);
mAdapter = null;
}


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
ViewGroup rootView = (ViewGroup)
inflater.inflate(R.layout.fragment_configure_toggles, container, false);
inflater.inflate(R.layout.fragment_arrange_toggles, container, false);

mTogglesFast = (BaseSetting) rootView.findViewById(R.id.toggles_fast_toggle);
mSwipeToSwitch = (BaseSetting) rootView.findViewById(R.id.toggles_swipe_to_switch);
mTogglesPerRow = (SingleChoiceSetting) rootView.findViewById(R.id.toggles_per_row);
mToggleStyle = (SingleChoiceSetting) rootView.findViewById(R.id.toggles_style);
mToggleSide = (SingleChoiceSetting) rootView.findViewById(R.id.toggles_fast_side);
mListView = (DragSortListView) rootView.findViewById(android.R.id.list);

mToggleStyle.setOnSettingChangedListener(this);
TextView instructions = new TextView(getActivity());
instructions.setText(R.string.toggles_arrange_instructions);
Resources r = getResources();
float px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 4, r.getDisplayMetrics());
int padding = (int) px;
instructions.setPadding(padding, padding, padding, padding);
mListView.addHeaderView(instructions);

return rootView;
}
Expand Down Expand Up @@ -299,27 +302,6 @@ public void onDestroyFloatView(View floatView) {

}

@Override
public void onSettingChanged(String table, String key, String oldValue, String value) {
if (table.equals("aokp") && key.equals(mToggleStyle.getKey())) {
if (value == null || value.isEmpty()) {
// defualt state
mTogglesPerRow.setVisibility(View.VISIBLE);
mTogglesFast.setVisibility(View.VISIBLE);
mToggleSide.setVisibility(View.VISIBLE);
mSwipeToSwitch.setVisibility(View.VISIBLE);
} else {
mTogglesPerRow.setVisibility(value.equals("0" /* 0 is the tile */)
? View.VISIBLE : View.GONE);
mTogglesFast.setVisibility(value.equals("0" /* 0 is the tile */)
? View.VISIBLE : View.GONE);
mToggleSide.setVisibility(value.equals("0" /* 0 is the tile */)
? View.VISIBLE : View.GONE);
mSwipeToSwitch.setVisibility(value.equals("0" /* 0 is the tile */)
? View.VISIBLE : View.GONE);
}
}
}

private void requestAvailableToggles() {
Intent request =
Expand Down

0 comments on commit 63f1f0c

Please sign in to comment.