summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/print
diff options
context:
space:
mode:
authorFabrice Di Meglio <fdimeglio@google.com>2014-05-15 19:53:08 -0700
committerFabrice Di Meglio <fdimeglio@google.com>2014-05-15 19:56:57 -0700
commit7ba17ab12c90c24cf0baa6644a64c962cb92b699 (patch)
tree58cb5fc9f1e97816e6a64d540ca65c9556dc5ac0 /src/com/android/settings/print
parent105947d0a902926bf66f2feda312179270e8f8c2 (diff)
downloadpackages_apps_Settings-7ba17ab12c90c24cf0baa6644a64c962cb92b699.zip
packages_apps_Settings-7ba17ab12c90c24cf0baa6644a64c962cb92b699.tar.gz
packages_apps_Settings-7ba17ab12c90c24cf0baa6644a64c962cb92b699.tar.bz2
Use SwitchBar for Print Settings
- follow up CL to 41937766981423c9252e12e3319b2e7532739627 Related to bug #14898161 On/Off switches must move down from Action Bar Change-Id: Ife4990a52ef282563267dc0bff6d3a7f354b0bd0
Diffstat (limited to 'src/com/android/settings/print')
-rw-r--r--src/com/android/settings/print/PrintServiceSettingsFragment.java62
-rw-r--r--src/com/android/settings/print/PrintSettingsFragment.java31
2 files changed, 23 insertions, 70 deletions
diff --git a/src/com/android/settings/print/PrintServiceSettingsFragment.java b/src/com/android/settings/print/PrintServiceSettingsFragment.java
index ab162fb..3e1dd0f 100644
--- a/src/com/android/settings/print/PrintServiceSettingsFragment.java
+++ b/src/com/android/settings/print/PrintServiceSettingsFragment.java
@@ -16,7 +16,6 @@
package com.android.settings.print;
-import android.app.ActionBar;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
@@ -45,7 +44,6 @@ import android.print.PrinterId;
import android.print.PrinterInfo;
import android.text.TextUtils;
import android.util.Log;
-import android.view.Gravity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
@@ -53,30 +51,31 @@ import android.view.View;
import android.view.ViewGroup;
import android.view.accessibility.AccessibilityManager;
import android.widget.BaseAdapter;
-import android.widget.CompoundButton;
import android.widget.Filter;
import android.widget.Filterable;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.SearchView;
+import android.widget.Switch;
import android.widget.TextView;
import com.android.settings.R;
+import com.android.settings.SettingsActivity;
import com.android.settings.SettingsPreferenceFragment;
-import com.android.settings.print.PrintSettingsFragment.ToggleSwitch;
-import com.android.settings.print.PrintSettingsFragment.ToggleSwitch.OnBeforeCheckedChangeListener;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
-import android.widget.CompoundButton.OnCheckedChangeListener;
+import com.android.settings.widget.SwitchBar;
+import com.android.settings.widget.ToggleSwitch;
+
/**
* Fragment with print service settings.
*/
public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
- implements DialogInterface.OnClickListener {
+ implements DialogInterface.OnClickListener, SwitchBar.OnSwitchChangeListener {
private static final int LOADER_ID_PRINTERS_LOADER = 1;
@@ -112,6 +111,7 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
}
};
+ private SwitchBar mSwitchBar;
private ToggleSwitch mToggleSwitch;
private String mPreferenceKey;
@@ -161,16 +161,17 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
@Override
public void onStart() {
super.onStart();
- setupActionBarToggleSwitch(getActivity(), mToggleSwitch);
+ mSwitchBar.addOnSwitchChangeListener(this);
+ mSwitchBar.show();
}
@Override
public void onDestroyView() {
- removeActionBarToggleSwitch(getActivity());
if (mOldActivityTitle != null) {
getActivity().getActionBar().setTitle(mOldActivityTitle);
}
- mToggleSwitch.setOnBeforeCheckedChangeListener(null);
+ mSwitchBar.removeOnSwitchChangeListener(this);
+ mSwitchBar.hide();
super.onDestroyView();
}
@@ -294,8 +295,12 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
mPrintersAdapter = new PrintersAdapter();
mPrintersAdapter.registerDataSetObserver(mDataObserver);
- mToggleSwitch = createActionBarToggleSwitch(getActivity().getActionBar().getThemedContext());
- mToggleSwitch.setOnBeforeCheckedChangeListener(new OnBeforeCheckedChangeListener() {
+ final SettingsActivity activity = (SettingsActivity) getActivity();
+
+ mSwitchBar = activity.getSwitchBar();
+
+ mToggleSwitch = mSwitchBar.getSwitch();
+ mToggleSwitch.setOnBeforeCheckedChangeListener(new ToggleSwitch.OnBeforeCheckedChangeListener() {
@Override
public boolean onBeforeCheckedChanged(ToggleSwitch toggleSwitch, boolean checked) {
if (checked) {
@@ -312,17 +317,17 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
return false;
}
});
- mToggleSwitch.setOnCheckedChangeListener(new OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
- updateEmptyView();
- }
- });
getListView().setSelector(new ColorDrawable(Color.TRANSPARENT));
getListView().setAdapter(mPrintersAdapter);
}
+
+ @Override
+ public void onSwitchChanged(Switch switchView, boolean isChecked) {
+ updateEmptyView();
+ }
+
private void updateUiForArguments() {
Bundle arguments = getArguments();
@@ -445,27 +450,6 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
}
}
- private ToggleSwitch createActionBarToggleSwitch(Context context) {
- ToggleSwitch toggleSwitch = new ToggleSwitch(context);
- final int padding = context.getResources().getDimensionPixelSize(
- R.dimen.action_bar_switch_padding);
- toggleSwitch.setPaddingRelative(0, 0, padding, 0);
- return toggleSwitch;
- }
-
- private void setupActionBarToggleSwitch(Activity activity, ToggleSwitch toggleSwitch) {
- activity.getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM,
- ActionBar.DISPLAY_SHOW_CUSTOM);
- activity.getActionBar().setCustomView(toggleSwitch,
- new ActionBar.LayoutParams(ActionBar.LayoutParams.WRAP_CONTENT,
- ActionBar.LayoutParams.WRAP_CONTENT,
- Gravity.CENTER_VERTICAL | Gravity.END));
- }
-
- private void removeActionBarToggleSwitch(Activity activity) {
- activity.getActionBar().setCustomView(null);
- }
-
private static abstract class SettingsContentObserver extends ContentObserver {
public SettingsContentObserver(Handler handler) {
diff --git a/src/com/android/settings/print/PrintSettingsFragment.java b/src/com/android/settings/print/PrintSettingsFragment.java
index 07e70d8..3f7362c 100644
--- a/src/com/android/settings/print/PrintSettingsFragment.java
+++ b/src/com/android/settings/print/PrintSettingsFragment.java
@@ -50,7 +50,6 @@ import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.Switch;
import android.widget.TextView;
import com.android.internal.content.PackageMonitor;
@@ -294,36 +293,6 @@ public class PrintSettingsFragment extends SettingsPreferenceFragment
}
}
- public static class ToggleSwitch extends Switch {
-
- private OnBeforeCheckedChangeListener mOnBeforeListener;
-
- public static interface OnBeforeCheckedChangeListener {
- public boolean onBeforeCheckedChanged(ToggleSwitch toggleSwitch, boolean checked);
- }
-
- public ToggleSwitch(Context context) {
- super(context);
- }
-
- public void setOnBeforeCheckedChangeListener(OnBeforeCheckedChangeListener listener) {
- mOnBeforeListener = listener;
- }
-
- @Override
- public void setChecked(boolean checked) {
- if (mOnBeforeListener != null
- && mOnBeforeListener.onBeforeCheckedChanged(this, checked)) {
- return;
- }
- super.setChecked(checked);
- }
-
- public void setCheckedInternal(boolean checked) {
- super.setChecked(checked);
- }
- }
-
private static abstract class SettingsContentObserver extends ContentObserver {
public SettingsContentObserver(Handler handler) {