Snap for 8637088 from 74c324b70f
to tm-release
Change-Id: I45c845f39ae43d4217e4460f8c60f5ff79b0797e
This commit is contained in:
@@ -18,7 +18,8 @@
|
||||
<androidx.core.widget.NestedScrollView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
android:layout_height="wrap_content"
|
||||
android:fitsSystemWindows="true">
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
@@ -389,7 +389,7 @@
|
||||
<string-array name="captioning_font_size_selector_titles">
|
||||
<item msgid="923916134548435468">"Veoma mala"</item>
|
||||
<item msgid="5738147437573674872">"Mala"</item>
|
||||
<item msgid="4691660235626027304">"Srednje"</item>
|
||||
<item msgid="4691660235626027304">"Srednja"</item>
|
||||
<item msgid="824386705928670045">"Velika"</item>
|
||||
<item msgid="2790561781512874585">"Veoma velika"</item>
|
||||
</string-array>
|
||||
|
@@ -421,7 +421,7 @@
|
||||
</string-array>
|
||||
<string-array name="accessibility_button_gesture_selector_titles">
|
||||
<item msgid="2370918472773154939">"बटन"</item>
|
||||
<item msgid="6922258575853746220">"जेस्चर (हाव-भाव)"</item>
|
||||
<item msgid="6922258575853746220">"जेस्चर"</item>
|
||||
</string-array>
|
||||
<string-array name="accessibility_button_size_selector_titles">
|
||||
<item msgid="7482952318152486459">"छोटा"</item>
|
||||
|
@@ -331,7 +331,7 @@
|
||||
<item msgid="4337542044275236638">"ಕ್ಲಿಪ್ಬೋರ್ಡ್ ಓದಿ"</item>
|
||||
<item msgid="2681224211796661809">"ಕ್ಲಿಪ್ಬೋರ್ಡ್ ಮಾರ್ಪಡಿಸಿ"</item>
|
||||
<item msgid="4479361062226474111">"ಮಾಧ್ಯಮ ಬಟನ್ಗಳು"</item>
|
||||
<item msgid="5651140069431283570">"ಆಡಿಯೊ ಫೋಕಸ್"</item>
|
||||
<item msgid="5651140069431283570">"ಆಡಿಯೋ ಫೋಕಸ್"</item>
|
||||
<item msgid="745291221457314879">"ಮಾಸ್ಟರ್ ವಾಲ್ಯೂಮ್"</item>
|
||||
<item msgid="4722479281326245754">"ಧ್ವನಿ ವಾಲ್ಯೂಮ್"</item>
|
||||
<item msgid="6749550886745567276">"ರಿಂಗ್ ವಾಲ್ಯೂಮ್"</item>
|
||||
|
@@ -389,7 +389,7 @@
|
||||
<string-array name="captioning_font_size_selector_titles">
|
||||
<item msgid="923916134548435468">"Veľmi malé"</item>
|
||||
<item msgid="5738147437573674872">"Malé"</item>
|
||||
<item msgid="4691660235626027304">"Stredná"</item>
|
||||
<item msgid="4691660235626027304">"Stredné"</item>
|
||||
<item msgid="824386705928670045">"Veľké"</item>
|
||||
<item msgid="2790561781512874585">"Veľmi veľké"</item>
|
||||
</string-array>
|
||||
|
@@ -389,7 +389,7 @@
|
||||
<string-array name="captioning_font_size_selector_titles">
|
||||
<item msgid="923916134548435468">"Веома мала"</item>
|
||||
<item msgid="5738147437573674872">"Мала"</item>
|
||||
<item msgid="4691660235626027304">"Средње"</item>
|
||||
<item msgid="4691660235626027304">"Средња"</item>
|
||||
<item msgid="824386705928670045">"Велика"</item>
|
||||
<item msgid="2790561781512874585">"Веома велика"</item>
|
||||
</string-array>
|
||||
|
@@ -27,7 +27,6 @@
|
||||
|
||||
<com.android.settings.widget.LabeledSeekBarPreference
|
||||
android:key="font_size"
|
||||
android:selectable="true"
|
||||
android:summary="@string/short_summary_font_size"
|
||||
android:title="@string/title_font_size"
|
||||
settings:iconEnd="@drawable/ic_add_24dp"
|
||||
@@ -38,7 +37,6 @@
|
||||
|
||||
<com.android.settings.widget.LabeledSeekBarPreference
|
||||
android:key="display_size"
|
||||
android:selectable="true"
|
||||
android:summary="@string/screen_zoom_short_summary"
|
||||
android:title="@string/screen_zoom_title"
|
||||
settings:iconEnd="@drawable/ic_add_24dp"
|
||||
|
@@ -46,7 +46,6 @@
|
||||
android:key="gesture_left_back_sensitivity"
|
||||
android:title="@string/left_edge"
|
||||
android:max="2"
|
||||
android:selectable="true"
|
||||
settings:textStart="@string/low_label"
|
||||
settings:textEnd="@string/high_label"/>
|
||||
|
||||
@@ -54,7 +53,6 @@
|
||||
android:key="gesture_right_back_sensitivity"
|
||||
android:title="@string/right_edge"
|
||||
android:max="2"
|
||||
android:selectable="true"
|
||||
settings:textStart="@string/low_label"
|
||||
settings:textEnd="@string/high_label"/>
|
||||
</PreferenceCategory>
|
||||
|
@@ -36,7 +36,6 @@
|
||||
android:key="gesture_power_menu_long_press_for_assist_sensitivity"
|
||||
android:title="@string/power_menu_long_press_for_assist_sensitivity_title"
|
||||
android:summary="@string/power_menu_long_press_for_assist_sensitivity_summary"
|
||||
android:selectable="true"
|
||||
settings:textStart="@string/power_menu_long_press_for_assist_sensitivity_low_label"
|
||||
settings:textEnd="@string/power_menu_long_press_for_assist_sensitivity_high_label"
|
||||
settings:controller="com.android.settings.gestures.LongPressPowerSensitivityPreferenceController"
|
||||
|
@@ -185,9 +185,9 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
|
||||
&& ActivityEmbeddingUtils.isEmbeddingActivityEnabled(mContext)) {
|
||||
// Highlight the preference whenever it's clicked
|
||||
final TopLevelSettings topLevelSettings = (TopLevelSettings) fragment;
|
||||
topLevelSettings.setHighlightPreferenceKey(key);
|
||||
highlightMixin = topLevelSettings.getHighlightMixin();
|
||||
isDuplicateClick = topLevelSettings.isDuplicateClick(preference);
|
||||
topLevelSettings.setHighlightPreferenceKey(key);
|
||||
}
|
||||
launchIntentOrSelectProfile(activity, tile, intent, sourceMetricsCategory,
|
||||
highlightMixin, isDuplicateClick);
|
||||
|
@@ -168,8 +168,8 @@ public abstract class DefaultSubscriptionController extends TelephonyBasePrefere
|
||||
|
||||
if (subs.size() == 1) {
|
||||
mPreference.setEnabled(false);
|
||||
mPreference.setSummaryProvider(pref ->
|
||||
SubscriptionUtil.getUniqueSubscriptionDisplayName(subs.get(0), mContext));
|
||||
mPreference.setSummary(SubscriptionUtil.getUniqueSubscriptionDisplayName(
|
||||
subs.get(0), mContext));
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -27,30 +27,43 @@ import static com.android.settings.slices.CustomSliceRegistry.VOLUME_MEDIA_URI;
|
||||
import static com.android.settings.slices.CustomSliceRegistry.VOLUME_RINGER_URI;
|
||||
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.bluetooth.BluetoothDevice;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.net.Uri;
|
||||
import android.provider.Settings;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.lifecycle.LifecycleObserver;
|
||||
import androidx.lifecycle.OnLifecycleEvent;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.bluetooth.Utils;
|
||||
import com.android.settingslib.bluetooth.A2dpProfile;
|
||||
import com.android.settingslib.bluetooth.BluetoothUtils;
|
||||
import com.android.settingslib.bluetooth.LocalBluetoothManager;
|
||||
import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
|
||||
import com.android.settingslib.media.MediaOutputConstants;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.IllegalFormatException;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.concurrent.FutureTask;
|
||||
|
||||
/**
|
||||
* Panel data class for Volume settings.
|
||||
*/
|
||||
public class VolumePanel implements PanelContent, LifecycleObserver {
|
||||
private static final String TAG = "VolumePanel";
|
||||
|
||||
private final Context mContext;
|
||||
|
||||
private PanelContentCallback mCallback;
|
||||
private LocalBluetoothProfileManager mProfileManager;
|
||||
|
||||
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
|
||||
@Override
|
||||
@@ -67,6 +80,21 @@ public class VolumePanel implements PanelContent, LifecycleObserver {
|
||||
|
||||
private VolumePanel(Context context) {
|
||||
mContext = context.getApplicationContext();
|
||||
|
||||
final FutureTask<LocalBluetoothManager> localBtManagerFutureTask = new FutureTask<>(
|
||||
// Avoid StrictMode ThreadPolicy violation
|
||||
() -> Utils.getLocalBtManager(mContext));
|
||||
LocalBluetoothManager localBluetoothManager;
|
||||
try {
|
||||
localBtManagerFutureTask.run();
|
||||
localBluetoothManager = localBtManagerFutureTask.get();
|
||||
} catch (InterruptedException | ExecutionException e) {
|
||||
Log.w(TAG, "Error getting LocalBluetoothManager.");
|
||||
return;
|
||||
}
|
||||
if (localBluetoothManager != null) {
|
||||
mProfileManager = localBluetoothManager.getProfileManager();
|
||||
}
|
||||
}
|
||||
|
||||
/** Invoked when the panel is resumed. */
|
||||
@@ -95,6 +123,11 @@ public class VolumePanel implements PanelContent, LifecycleObserver {
|
||||
|
||||
uris.add(REMOTE_MEDIA_SLICE_URI);
|
||||
uris.add(VOLUME_MEDIA_URI);
|
||||
Uri controlUri = getExtraControlUri();
|
||||
if (controlUri != null) {
|
||||
Log.d(TAG, "add extra control slice");
|
||||
uris.add(controlUri);
|
||||
}
|
||||
uris.add(MEDIA_OUTPUT_INDICATOR_SLICE_URI);
|
||||
uris.add(VOLUME_CALL_URI);
|
||||
uris.add(VOLUME_RINGER_URI);
|
||||
@@ -121,4 +154,33 @@ public class VolumePanel implements PanelContent, LifecycleObserver {
|
||||
public void registerCallback(PanelContentCallback callback) {
|
||||
mCallback = callback;
|
||||
}
|
||||
|
||||
private Uri getExtraControlUri() {
|
||||
Uri controlUri = null;
|
||||
final BluetoothDevice bluetoothDevice = findActiveDevice();
|
||||
if (bluetoothDevice != null) {
|
||||
final int width = mContext.getResources().getDimensionPixelSize(
|
||||
R.dimen.settings_panel_width);
|
||||
final String uri = BluetoothUtils.getControlUriMetaData(bluetoothDevice);
|
||||
if (!TextUtils.isEmpty(uri)) {
|
||||
try {
|
||||
controlUri = Uri.parse(String.format(uri, width));
|
||||
} catch (IllegalFormatException | NullPointerException exception) {
|
||||
Log.d(TAG, "unable to parse uri");
|
||||
controlUri = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
return controlUri;
|
||||
}
|
||||
|
||||
private BluetoothDevice findActiveDevice() {
|
||||
if (mProfileManager != null) {
|
||||
final A2dpProfile a2dpProfile = mProfileManager.getA2dpProfile();
|
||||
if (a2dpProfile != null) {
|
||||
return a2dpProfile.getActiveDevice();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
@@ -26,12 +26,12 @@ import android.widget.ImageView;
|
||||
import android.widget.SeekBar;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.content.res.TypedArrayUtils;
|
||||
import androidx.preference.PreferenceViewHolder;
|
||||
|
||||
import com.android.internal.util.Preconditions;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.Utils;
|
||||
|
||||
/**
|
||||
* A labeled {@link SeekBarPreference} with left and right text label, icon label, or both.
|
||||
@@ -61,8 +61,6 @@ public class LabeledSeekBarPreference extends SeekBarPreference {
|
||||
private final int mIconStartContentDescriptionId;
|
||||
private final int mIconEndContentDescriptionId;
|
||||
private OnPreferenceChangeListener mStopListener;
|
||||
@Nullable
|
||||
private CharSequence mSummary;
|
||||
private SeekBar.OnSeekBarChangeListener mSeekBarChangeListener;
|
||||
|
||||
public LabeledSeekBarPreference(Context context, AttributeSet attrs, int defStyleAttr,
|
||||
@@ -97,8 +95,6 @@ public class LabeledSeekBarPreference extends SeekBarPreference {
|
||||
Preconditions.checkArgument(!(mIconEndContentDescriptionId != 0 && mIconEndId == 0),
|
||||
"The resource of the iconEnd attribute may be invalid or not set, "
|
||||
+ "you should set the iconEnd attribute and have the valid resource.");
|
||||
|
||||
mSummary = styledAttrs.getText(R.styleable.Preference_android_summary);
|
||||
styledAttrs.recycle();
|
||||
}
|
||||
|
||||
@@ -112,6 +108,17 @@ public class LabeledSeekBarPreference extends SeekBarPreference {
|
||||
public void onBindViewHolder(PreferenceViewHolder holder) {
|
||||
super.onBindViewHolder(holder);
|
||||
|
||||
final TextView summaryView = (TextView) holder.findViewById(android.R.id.summary);
|
||||
boolean isSummaryVisible = false;
|
||||
if (summaryView != null) {
|
||||
isSummaryVisible = (summaryView.getVisibility() == View.VISIBLE);
|
||||
}
|
||||
final TextView titleView = (TextView) holder.findViewById(android.R.id.title);
|
||||
if (titleView != null && !isSelectable() && isEnabled() && isSummaryVisible) {
|
||||
titleView.setTextColor(
|
||||
Utils.getColorAttr(getContext(), android.R.attr.textColorPrimary));
|
||||
}
|
||||
|
||||
final TextView startText = (TextView) holder.findViewById(android.R.id.text1);
|
||||
if (mTextStartId > 0) {
|
||||
startText.setText(mTextStartId);
|
||||
@@ -132,15 +139,6 @@ public class LabeledSeekBarPreference extends SeekBarPreference {
|
||||
seekBar.setTickMark(tickMark);
|
||||
}
|
||||
|
||||
final TextView summary = (TextView) holder.findViewById(android.R.id.summary);
|
||||
if (mSummary != null) {
|
||||
summary.setText(mSummary);
|
||||
summary.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
summary.setText(null);
|
||||
summary.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
final ViewGroup iconStartFrame = (ViewGroup) holder.findViewById(R.id.icon_start_frame);
|
||||
final ImageView iconStartView = (ImageView) holder.findViewById(R.id.icon_start);
|
||||
updateIconStartIfNeeded(iconStartFrame, iconStartView, seekBar);
|
||||
@@ -188,25 +186,6 @@ public class LabeledSeekBarPreference extends SeekBarPreference {
|
||||
notifyChanged();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSummary(CharSequence summary) {
|
||||
super.setSummary(summary);
|
||||
mSummary = summary;
|
||||
notifyChanged();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSummary(int summaryResId) {
|
||||
super.setSummary(summaryResId);
|
||||
mSummary = getContext().getText(summaryResId);
|
||||
notifyChanged();
|
||||
}
|
||||
|
||||
@Override
|
||||
public CharSequence getSummary() {
|
||||
return mSummary;
|
||||
}
|
||||
|
||||
public void setOnSeekBarChangeListener(SeekBar.OnSeekBarChangeListener seekBarChangeListener) {
|
||||
mSeekBarChangeListener = seekBarChangeListener;
|
||||
}
|
||||
|
@@ -82,12 +82,7 @@ public class SeekBarPreference extends RestrictedPreference
|
||||
com.android.internal.R.layout.preference_widget_seekbar);
|
||||
a.recycle();
|
||||
|
||||
a = context.obtainStyledAttributes(
|
||||
attrs, com.android.internal.R.styleable.Preference, defStyleAttr, defStyleRes);
|
||||
final boolean isSelectable = a.getBoolean(
|
||||
com.android.settings.R.styleable.Preference_android_selectable, false);
|
||||
setSelectable(isSelectable);
|
||||
a.recycle();
|
||||
setSelectable(false);
|
||||
|
||||
setLayoutResource(layoutResId);
|
||||
}
|
||||
@@ -174,11 +169,6 @@ public class SeekBarPreference extends RestrictedPreference
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public CharSequence getSummary() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onSetInitialValue(boolean restoreValue, Object defaultValue) {
|
||||
setProgress(restoreValue ? getPersistedInt(mProgress)
|
||||
|
@@ -24,6 +24,7 @@ import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.Button;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.TextView;
|
||||
@@ -82,6 +83,10 @@ public class AddNetworkFragment extends InstrumentedFragment implements WifiConf
|
||||
ssidScannerButton.setOnClickListener(this);
|
||||
mUIController = new WifiConfigController2(this, rootView, null, getMode());
|
||||
|
||||
// Resize the layout when keyboard opens.
|
||||
getActivity().getWindow().setSoftInputMode(
|
||||
WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
|
||||
|
||||
return rootView;
|
||||
}
|
||||
|
||||
|
@@ -31,6 +31,7 @@ import android.os.SystemClock;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.Button;
|
||||
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
@@ -124,6 +125,10 @@ public class ConfigureWifiEntryFragment extends InstrumentedFragment implements
|
||||
actionBar.setDisplayShowHomeEnabled(false);
|
||||
}
|
||||
|
||||
// Resize the layout when keyboard opens.
|
||||
getActivity().getWindow().setSoftInputMode(
|
||||
WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
|
||||
|
||||
return rootView;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user