Make Location Settings multiprofile aware

Injected location services and location access status are shown
for managed profiles on Settings > Location

Bug: 18602878
Change-Id: Ic6232f3dc03d9675b90fbfd0163fe5bae4bd13c6
This commit is contained in:
Zoltan Szatmary-Ban
2014-10-15 11:35:55 +01:00
parent 3f5fd1feba
commit 86c877e9b6
6 changed files with 207 additions and 68 deletions

View File

@@ -16,10 +16,14 @@
package com.android.settings.location;
import android.annotation.Nullable;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.preference.Preference;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.View;
import android.widget.TextView;
/**
* A preference item that can dim the icon when it's disabled, either directly or because its parent
@@ -29,16 +33,23 @@ public class DimmableIconPreference extends Preference {
private static final int ICON_ALPHA_ENABLED = 255;
private static final int ICON_ALPHA_DISABLED = 102;
public DimmableIconPreference(Context context, AttributeSet attrs, int defStyle) {
private final CharSequence mContentDescription;
public DimmableIconPreference(Context context, AttributeSet attrs, int defStyle,
@Nullable CharSequence contentDescription) {
super(context, attrs, defStyle);
mContentDescription = contentDescription;
}
public DimmableIconPreference(Context context, AttributeSet attrs) {
public DimmableIconPreference(Context context, AttributeSet attrs,
@Nullable CharSequence contentDescription) {
super(context, attrs);
mContentDescription = contentDescription;
}
public DimmableIconPreference(Context context) {
public DimmableIconPreference(Context context, @Nullable CharSequence contentDescription) {
super(context);
mContentDescription = contentDescription;
}
private void dimIcon(boolean dimmed) {
@@ -60,4 +71,13 @@ public class DimmableIconPreference extends Preference {
dimIcon(!enabled);
super.setEnabled(enabled);
}
@Override
protected void onBindView(View view) {
super.onBindView(view);
if (!TextUtils.isEmpty(mContentDescription)) {
final TextView titleView = (TextView) view.findViewById(android.R.id.title);
titleView.setContentDescription(mContentDescription);
}
}
}