summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher3/DynamicGridSizeFragment.java25
-rw-r--r--src/com/android/launcher3/GelIntegrationHelper.java11
-rw-r--r--src/com/android/launcher3/Launcher.java33
-rw-r--r--src/com/android/launcher3/OverviewSettingsPanel.java1
-rw-r--r--src/com/android/launcher3/TransitionEffectsFragment.java23
-rw-r--r--src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java15
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);