diff options
author | Raj Yengisetty <rajesh@cyngn.com> | 2014-10-19 16:30:46 -0700 |
---|---|---|
committer | Adnan Begovic <adnan@cyngn.com> | 2014-10-28 00:14:53 +0000 |
commit | fa59cf3f97ac76bc8da10b788d2b9931350e2468 (patch) | |
tree | 48e24cf5347f1548553f8aa11920ebb2266f60fc /src/com/android | |
parent | d742d21fd093382cd3a63e3630079c1eb9c611e7 (diff) | |
download | android_packages_apps_Trebuchet-fa59cf3f97ac76bc8da10b788d2b9931350e2468.tar.gz android_packages_apps_Trebuchet-fa59cf3f97ac76bc8da10b788d2b9931350e2468.tar.bz2 android_packages_apps_Trebuchet-fa59cf3f97ac76bc8da10b788d2b9931350e2468.zip |
Trebuchet: RTL support for Settings Screens
Change-Id: I9e6d812a81aa4358e230bd1d58877695eaeee0ac
Diffstat (limited to 'src/com/android')
4 files changed, 71 insertions, 12 deletions
diff --git a/src/com/android/launcher3/DynamicGridSizeFragment.java b/src/com/android/launcher3/DynamicGridSizeFragment.java index 69720a5a2..74e47ea2a 100644 --- a/src/com/android/launcher3/DynamicGridSizeFragment.java +++ b/src/com/android/launcher3/DynamicGridSizeFragment.java @@ -23,14 +23,15 @@ 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.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.os.Bundle; import android.util.AttributeSet; import android.util.DisplayMetrics; +import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -42,7 +43,6 @@ import android.widget.LinearLayout; import android.widget.ListView; import android.widget.NumberPicker; import android.widget.TextView; - import com.android.launcher3.settings.SettingsProvider; public class DynamicGridSizeFragment extends Fragment @@ -122,6 +122,13 @@ public class DynamicGridSizeFragment extends Fragment 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; } @@ -141,7 +148,13 @@ public class DynamicGridSizeFragment 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); @@ -276,6 +289,12 @@ public class DynamicGridSizeFragment extends Fragment TextView textView = (TextView) convertView.findViewById(R.id.item_name); textView.setText(mTitles[position]); + // RTL + Configuration config = getResources().getConfiguration(); + if (config.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL) { + textView.setGravity(Gravity.RIGHT); + } + // Set selected state if (position == mCurrentSize.getValue()) { if (mCurrentSelection != null) { diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 17ddb7e7e..d56eda564 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -1394,8 +1394,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(); @@ -1438,8 +1444,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 8f51e2435..d490a0034 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; @@ -120,6 +122,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; } @@ -163,7 +171,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); @@ -211,6 +225,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 35949e049..eca649226 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); |