diff options
author | Raj Yengisetty <rajesh@cyngn.com> | 2014-11-10 10:35:02 -0800 |
---|---|---|
committer | Adnan <adnan@cyngn.com> | 2014-11-19 15:53:59 -0800 |
commit | 48de8c6b2bbb00cb25d3d012b84fbd5e5f125241 (patch) | |
tree | 591129d7bea07a6e0edbd0e5a0937b1db3f496fb /src/com/android | |
parent | 616cf2e20604062f98fad8d3e3bb43f5b6fa5a6c (diff) | |
download | android_packages_apps_Trebuchet-48de8c6b2bbb00cb25d3d012b84fbd5e5f125241.tar.gz android_packages_apps_Trebuchet-48de8c6b2bbb00cb25d3d012b84fbd5e5f125241.tar.bz2 android_packages_apps_Trebuchet-48de8c6b2bbb00cb25d3d012b84fbd5e5f125241.zip |
Trebuchet: RTL support for Settings Screens
Change-Id: I9e6d812a81aa4358e230bd1d58877695eaeee0ac
Diffstat (limited to 'src/com/android')
4 files changed, 73 insertions, 11 deletions
diff --git a/src/com/android/launcher3/DynamicGridSizeFragment.java b/src/com/android/launcher3/DynamicGridSizeFragment.java index 586c2bd49..f8ada16f6 100644 --- a/src/com/android/launcher3/DynamicGridSizeFragment.java +++ b/src/com/android/launcher3/DynamicGridSizeFragment.java @@ -6,6 +6,7 @@ import android.app.Dialog; import android.app.Fragment; import android.content.Context; import android.content.DialogInterface; +import android.content.res.Configuration; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; @@ -15,6 +16,7 @@ import android.graphics.Paint; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.util.DisplayMetrics; +import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -96,6 +98,13 @@ public class DynamicGridSizeFragment extends Fragment implements NumberPicker.On R.layout.settings_pane_list_item, values); mListView.setAdapter(mAdapter); + // RTL + ImageView navPrev = (ImageView) v.findViewById(R.id.nav_prev); + Configuration config = getResources().getConfiguration(); + if (config.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL) { + navPrev.setImageResource(R.drawable.ic_navigation_next); + } + return v; } @@ -163,7 +172,13 @@ public class DynamicGridSizeFragment extends Fragment implements NumberPicker.On DisplayMetrics displaymetrics = new DisplayMetrics(); getActivity().getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); int width = displaymetrics.widthPixels; - final ObjectAnimator anim = ObjectAnimator.ofFloat(this, "translationX", width, 0); + Configuration config = getResources().getConfiguration(); + final ObjectAnimator anim; + if (config.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL) { + anim = ObjectAnimator.ofFloat(this, "translationX", -width, 0); + } else { + anim = ObjectAnimator.ofFloat(this, "translationX", width, 0); + } final View darkPanel = ((Launcher) getActivity()).getDarkPanel(); darkPanel.setVisibility(View.VISIBLE); @@ -303,7 +318,14 @@ public class DynamicGridSizeFragment extends Fragment implements NumberPicker.On TextView textView = (TextView) convertView .findViewById(R.id.item_name); textView.setText(mTitles[position]); - // Set Selected State + + // RTL + Configuration config = getResources().getConfiguration(); + if (config.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL) { + textView.setGravity(Gravity.RIGHT); + } + + // Set selected state if (position == mCurrentSize.getValue()) { mCurrentSelection = convertView; setSelected(mCurrentSelection); diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 0f80f8cbb..9cc28dcf0 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -1283,8 +1283,14 @@ public class Launcher extends Activity mOverviewSettingsPanel.notifyDataSetInvalidated(); FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction(); - fragmentTransaction - .setCustomAnimations(0, R.anim.exit_out_right); + Configuration config = getResources().getConfiguration(); + if(config.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL) { + fragmentTransaction + .setCustomAnimations(0, R.anim.exit_out_left); + } else { + fragmentTransaction + .setCustomAnimations(0, R.anim.exit_out_right); + } fragmentTransaction .remove(mDynamicGridSizeFragment).commit(); @@ -1327,8 +1333,14 @@ public class Launcher extends Activity mOverviewSettingsPanel.notifyDataSetInvalidated(); FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction(); - fragmentTransaction - .setCustomAnimations(0, R.anim.exit_out_right); + Configuration config = getResources().getConfiguration(); + if(config.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL) { + fragmentTransaction + .setCustomAnimations(0, R.anim.exit_out_left); + } else { + fragmentTransaction + .setCustomAnimations(0, R.anim.exit_out_right); + } fragmentTransaction .remove(mTransitionEffectsFragment).commit(); diff --git a/src/com/android/launcher3/TransitionEffectsFragment.java b/src/com/android/launcher3/TransitionEffectsFragment.java index cb038b2f2..f03aeabfa 100644 --- a/src/com/android/launcher3/TransitionEffectsFragment.java +++ b/src/com/android/launcher3/TransitionEffectsFragment.java @@ -4,11 +4,13 @@ import android.animation.Animator; import android.animation.ObjectAnimator; import android.app.Fragment; import android.content.Context; +import android.content.res.Configuration; import android.content.res.TypedArray; import android.graphics.Color; import android.graphics.drawable.AnimationDrawable; import android.os.Bundle; import android.util.DisplayMetrics; +import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; @@ -121,6 +123,12 @@ public class TransitionEffectsFragment extends Fragment { mListView.setSelection(mCurrentPosition); + // RTL + ImageView navPrev = (ImageView) v.findViewById(R.id.nav_prev); + Configuration config = getResources().getConfiguration(); + if (config.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL) { + navPrev.setImageResource(R.drawable.ic_navigation_next); + } return v; } @@ -164,7 +172,13 @@ public class TransitionEffectsFragment extends Fragment { DisplayMetrics displaymetrics = new DisplayMetrics(); getActivity().getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); int width = displaymetrics.widthPixels; - final ObjectAnimator anim = ObjectAnimator.ofFloat(this, "translationX", width, 0); + Configuration config = getResources().getConfiguration(); + final ObjectAnimator anim; + if (config.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL) { + anim = ObjectAnimator.ofFloat(this, "translationX", -width, 0); + } else { + anim = ObjectAnimator.ofFloat(this, "translationX", width, 0); + } final View darkPanel = ((Launcher) getActivity()).getDarkPanel(); darkPanel.setVisibility(View.VISIBLE); @@ -212,6 +226,13 @@ public class TransitionEffectsFragment extends Fragment { parent, false); TextView textView = (TextView) convertView .findViewById(R.id.item_name); + + // RTL + Configuration config = getResources().getConfiguration(); + if (config.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL) { + textView.setGravity(Gravity.RIGHT); + } + textView.setText(titles[position]); // Set Selected State if (position == mCurrentPosition) { diff --git a/src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java b/src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java index 5fcba7a4f..8a77502e8 100644 --- a/src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java +++ b/src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java @@ -2,23 +2,24 @@ package com.android.launcher3.list; import android.content.Context; import android.content.Intent; +import android.content.SharedPreferences; +import android.content.res.Configuration; import android.content.res.Resources; import android.database.Cursor; import android.graphics.Typeface; import android.util.TypedValue; +import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; +import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.TextView; +import com.android.launcher3.AppsCustomizePagedView; import com.android.launcher3.DeviceProfile; import com.android.launcher3.Launcher; import com.android.launcher3.OverviewSettingsPanel; -import com.android.launcher3.AppsCustomizePagedView; import com.android.launcher3.R; - import com.android.launcher3.settings.SettingsProvider; -import android.view.View.OnClickListener; -import android.content.SharedPreferences; public class SettingsPinnedHeaderAdapter extends PinnedHeaderListAdapter { private static final int PARTITION_TAG = 0; @@ -76,6 +77,12 @@ public class SettingsPinnedHeaderAdapter extends PinnedHeaderListAdapter { @Override protected void bindView(View v, int partition, Cursor cursor, int position) { TextView text = (TextView)v.findViewById(R.id.item_name); + // RTL + Configuration config = mLauncher.getResources().getConfiguration(); + if (config.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL) { + text.setGravity(Gravity.RIGHT); + } + String title = cursor.getString(1); text.setText(title); |