summaryrefslogtreecommitdiffstats
path: root/src/com/android
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2015-10-12 04:20:21 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2015-10-12 04:20:21 -0700
commitb17d7c45fc19ef4c694dd8df999d41a5ce49052c (patch)
tree97cac7ce6106a4c76777905a0563c4e883918efe /src/com/android
parente8a9d3dcd0c71be29cca739201ef1e699683a291 (diff)
parentbf51c8b4d63658986ff6c43befb38dfcb0ea3a2d (diff)
downloadpackages_apps_Settings-b17d7c45fc19ef4c694dd8df999d41a5ce49052c.zip
packages_apps_Settings-b17d7c45fc19ef4c694dd8df999d41a5ce49052c.tar.gz
packages_apps_Settings-b17d7c45fc19ef4c694dd8df999d41a5ce49052c.tar.bz2
Merge "Bluetooth: Add Manifest configure to fix settings crash issue."
Diffstat (limited to 'src/com/android')
-rw-r--r--src/com/android/settings/SubSettings.java1
-rw-r--r--src/com/android/settings/Utils.java8
-rw-r--r--src/com/android/settings/bluetooth/BluetoothSettings.java60
3 files changed, 68 insertions, 1 deletions
diff --git a/src/com/android/settings/SubSettings.java b/src/com/android/settings/SubSettings.java
index 04955b2..13ead6e 100644
--- a/src/com/android/settings/SubSettings.java
+++ b/src/com/android/settings/SubSettings.java
@@ -35,4 +35,5 @@ public class SubSettings extends SettingsActivity {
Log.d("SubSettings", "Launching fragment " + fragmentName);
return true;
}
+ public static class BluetoothSubSettings extends SubSettings { /* empty */ }
}
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index 1122591..b6d9414 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -92,6 +92,7 @@ import com.android.settings.UserAdapter.UserDetails;
import com.android.settings.dashboard.DashboardTile;
import com.android.settings.drawable.CircleFramedDrawable;
import com.android.settingslib.applications.ApplicationsState;
+import com.android.settings.bluetooth.BluetoothSettings;
import java.io.IOException;
import java.io.InputStream;
@@ -717,7 +718,12 @@ public final class Utils {
Bundle args, String titleResPackageName, int titleResId, CharSequence title,
boolean isShortcut) {
Intent intent = new Intent(Intent.ACTION_MAIN);
- intent.setClass(context, SubSettings.class);
+ if (BluetoothSettings.class.getName().equals(fragmentName)) {
+ intent.setClass(context, SubSettings.BluetoothSubSettings.class);
+ intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_AS_SUBSETTING, true);
+ } else {
+ intent.setClass(context, SubSettings.class);
+ }
intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT, fragmentName);
intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS, args);
intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE_RES_PACKAGE_NAME,
diff --git a/src/com/android/settings/bluetooth/BluetoothSettings.java b/src/com/android/settings/bluetooth/BluetoothSettings.java
index 2663e07..ab5cf26 100644
--- a/src/com/android/settings/bluetooth/BluetoothSettings.java
+++ b/src/com/android/settings/bluetooth/BluetoothSettings.java
@@ -18,6 +18,8 @@ package com.android.settings.bluetooth;
import static android.os.UserManager.DISALLOW_CONFIG_BLUETOOTH;
+import android.app.ActionBar;
+import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.content.BroadcastReceiver;
@@ -25,6 +27,7 @@ import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
+import android.content.res.Configuration;
import android.content.res.Resources;
import android.os.Bundle;
import android.preference.Preference;
@@ -34,13 +37,17 @@ import android.preference.PreferenceScreen;
import android.provider.Settings;
import android.text.Spannable;
import android.text.style.TextAppearanceSpan;
+import android.util.DisplayMetrics;
import android.util.Log;
+import android.util.TypedValue;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
+import android.view.ViewGroup.LayoutParams;
import android.widget.TextView;
+import android.widget.Toolbar;
import com.android.internal.logging.MetricsLogger;
import com.android.settings.LinkifyUtils;
@@ -146,6 +153,59 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment implem
}
@Override
+ public void onConfigurationChanged(Configuration newConfig) {
+ super.onConfigurationChanged(newConfig);
+ Activity activity = getActivity();
+ float titleTextSize;
+ int actionBarHeight;
+ int switchBarHeight;
+ if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
+ titleTextSize = activity.getResources().getDimensionPixelSize(
+ R.dimen.bluetooth_landscape_title_textsize);
+ switchBarHeight = activity.getResources().getDimensionPixelSize(
+ R.dimen.bluetooth_landscape_switchbar_height);
+ actionBarHeight = activity.getResources().getDimensionPixelSize(
+ R.dimen.bluetooth_landscape_actionbar_height);
+ } else {
+ titleTextSize = activity.getResources().getDimensionPixelSize(
+ R.dimen.bluetooth_portrait_title_textsize);
+ switchBarHeight = activity.getResources().getDimensionPixelSize(
+ R.dimen.bluetooth_portrait_switchbar_height);
+ actionBarHeight = activity.getResources().getDimensionPixelSize(
+ R.dimen.bluetooth_portrait_switchbar_height);
+ }
+ resetBarSize(titleTextSize, actionBarHeight, switchBarHeight);
+ }
+
+ private void resetBarSize(float titleTextSize, int actionBarHeight, int switchBarHeight) {
+ Activity activity = getActivity();
+ DisplayMetrics displayMetrics = Resources.getSystem().getDisplayMetrics();
+ int titleId = Resources.getSystem().getIdentifier("action_bar", "id", "android");
+ Toolbar toolbar = (Toolbar) activity.getWindow().findViewById(titleId);
+ TextView title = null;
+ if (toolbar != null) {
+ LayoutParams layoutParams = toolbar.getLayoutParams();
+ layoutParams.height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
+ actionBarHeight, displayMetrics);
+ for (int i = 0; i < toolbar.getChildCount(); ++i) {
+ if (toolbar.getChildAt(i) instanceof TextView) {
+ title = (TextView) toolbar.getChildAt(i);
+ }
+ Toolbar.LayoutParams childLayoutParams = (Toolbar.LayoutParams) toolbar.getChildAt(
+ i).getLayoutParams();
+ childLayoutParams.gravity = Gravity.CENTER_VERTICAL;
+ }
+ }
+ if (title != null)
+ title.setTextSize(TypedValue.COMPLEX_UNIT_DIP, titleTextSize);
+ if (mSwitchBar != null) {
+ LayoutParams layoutParams = mSwitchBar.getLayoutParams();
+ layoutParams.height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
+ switchBarHeight, displayMetrics);
+ }
+ }
+
+ @Override
public void onDestroyView() {
super.onDestroyView();