diff options
Diffstat (limited to 'src/com/android')
6 files changed, 91 insertions, 17 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/GelIntegrationHelper.java b/src/com/android/launcher3/GelIntegrationHelper.java index 118be19db..fbd6e5b16 100644 --- a/src/com/android/launcher3/GelIntegrationHelper.java +++ b/src/com/android/launcher3/GelIntegrationHelper.java @@ -3,11 +3,13 @@ package com.android.launcher3; import android.app.Activity; import android.app.ActivityManager; import android.app.SearchManager; +import android.content.ActivityNotFoundException; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.service.gesture.EdgeGestureManager; +import android.util.Log; import com.android.internal.util.gesture.EdgeGesturePosition; import java.util.List; @@ -18,6 +20,7 @@ import java.util.List; * in CyanogenMod. */ public class GelIntegrationHelper { + private static final String TAG = "GelIntegrationHelper"; private static final String GEL_ACTIVITY = "com.google.android.velvet.ui.VelvetActivity"; private static final String GEL_PACKAGE_NAME = "com.google.android.googlequicksearchbox"; @@ -88,8 +91,12 @@ public class GelIntegrationHelper { intent.setComponent(globalSearchActivity); } - launcherActivity.startActivity(intent); - launcherActivity.overridePendingTransition(0, R.anim.exit_out_right); + try { + launcherActivity.startActivity(intent); + launcherActivity.overridePendingTransition(0, R.anim.exit_out_right); + } catch (ActivityNotFoundException e) { + Log.e(TAG, "Unable to launch global search activity."); + } } private boolean isIntentSupported(Context context, Intent intent) { diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 17ddb7e7e..1d1208f94 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -1327,9 +1327,16 @@ public class Launcher extends Activity } protected void startThemeSettings() { - Intent settings = new Intent().setClassName(OverviewSettingsPanel.ANDROID_SETTINGS, - OverviewSettingsPanel.THEME_SETTINGS); - startActivity(settings); + Intent chooser = new Intent(Intent.ACTION_MAIN) + .addCategory(OverviewSettingsPanel.THEME_CHOOSER_CATEGORY) + .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + try { + startActivity(chooser); + } catch (ActivityNotFoundException e) { + Intent settings = new Intent().setClassName(OverviewSettingsPanel.ANDROID_SETTINGS, + OverviewSettingsPanel.THEME_SETTINGS); + startActivity(settings); + } if (mWorkspace.isInOverviewMode()) { mWorkspace.exitOverviewMode(false); @@ -1394,8 +1401,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 +1451,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/OverviewSettingsPanel.java b/src/com/android/launcher3/OverviewSettingsPanel.java index f0a568b74..ef12b50b5 100644 --- a/src/com/android/launcher3/OverviewSettingsPanel.java +++ b/src/com/android/launcher3/OverviewSettingsPanel.java @@ -20,6 +20,7 @@ public class OverviewSettingsPanel { "com.android.settings.applications.ProtectedAppsActivity"; public static final String THEME_SETTINGS = "com.android.settings.Settings$ThemeSettingsActivity"; + public static final String THEME_CHOOSER_CATEGORY = "cyngn.intent.category.APP_THEMES"; public static final int HOME_SETTINGS_POSITION = 0; public static final int DRAWER_SETTINGS_POSITION = 1; public static final int APP_SETTINGS_POSITION = 2; 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); |