diff options
Diffstat (limited to 'src/com/android')
6 files changed, 47 insertions, 18 deletions
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java index e5fd340485..64919d9e80 100644 --- a/src/com/android/settings/Utils.java +++ b/src/com/android/settings/Utils.java @@ -92,8 +92,11 @@ import android.widget.EditText; import android.widget.ListView; import android.widget.TabWidget; +import androidx.annotation.NonNull; import androidx.annotation.StringRes; import androidx.core.graphics.drawable.IconCompat; +import androidx.core.graphics.drawable.RoundedBitmapDrawable; +import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory; import androidx.fragment.app.Fragment; import androidx.lifecycle.Lifecycle; import androidx.preference.Preference; @@ -1113,4 +1116,25 @@ public final class Utils extends com.android.settingslib.Utils { context.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK; return currentNightMode == Configuration.UI_MODE_NIGHT_YES; } + + /** + * Returns a bitmap with rounded corner. + * + * @param context application context. + * @param source bitmap to apply round corner. + * @param cornerRadius corner radius value. + */ + public static Bitmap convertCornerRadiusBitmap(@NonNull Context context, + @NonNull Bitmap source, @NonNull float cornerRadius) { + final Bitmap roundedBitmap = Bitmap.createBitmap(source.getWidth(), source.getHeight(), + Bitmap.Config.ARGB_8888); + final RoundedBitmapDrawable drawable = + RoundedBitmapDrawableFactory.create(context.getResources(), source); + drawable.setAntiAlias(true); + drawable.setCornerRadius(cornerRadius); + final Canvas canvas = new Canvas(roundedBitmap); + drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight()); + drawable.draw(canvas); + return roundedBitmap; + } } diff --git a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java index a05d87db80..370bdfb686 100644 --- a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java +++ b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java @@ -525,7 +525,6 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O if (overrideNetworkType == TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_NSA_MMWAVE || overrideNetworkType == TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NR_NSA) { dataNetworkTypeName = "NR NSA"; - voiceNetworkTypeName = "NR NSA"; } boolean show4GForLTE = false; diff --git a/src/com/android/settings/display/TwilightLocationPreferenceController.java b/src/com/android/settings/display/TwilightLocationPreferenceController.java index 131b0a8812..31845c0eb5 100644 --- a/src/com/android/settings/display/TwilightLocationPreferenceController.java +++ b/src/com/android/settings/display/TwilightLocationPreferenceController.java @@ -21,7 +21,6 @@ import android.content.Intent; import android.location.LocationManager; import android.view.View; -import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.settings.R; @@ -58,12 +57,8 @@ public class TwilightLocationPreferenceController extends BasePreferenceControll } @Override - public void updateState(Preference preference) { - preference.setVisible(!mLocationManager.isLocationEnabled()); - } - - @Override public int getAvailabilityStatus() { - return AVAILABLE_UNSEARCHABLE; + return mLocationManager.isLocationEnabled() ? CONDITIONALLY_UNAVAILABLE + : AVAILABLE_UNSEARCHABLE; } } diff --git a/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java b/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java index d30fe59a51..e4a644cf78 100644 --- a/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java +++ b/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java @@ -184,6 +184,10 @@ public class ContextualCardLoader extends AsyncLoaderCompat<List<ContextualCard> @VisibleForTesting List<ContextualCard> filterEligibleCards(List<ContextualCard> candidates) { + if (candidates.isEmpty()) { + return candidates; + } + final ExecutorService executor = Executors.newFixedThreadPool(candidates.size()); final List<ContextualCard> cards = new ArrayList<>(); List<Future<ContextualCard>> eligibleCards = new ArrayList<>(); diff --git a/src/com/android/settings/panel/MediaOutputPanel.java b/src/com/android/settings/panel/MediaOutputPanel.java index d8dbb34d0e..6a296b73c0 100644 --- a/src/com/android/settings/panel/MediaOutputPanel.java +++ b/src/com/android/settings/panel/MediaOutputPanel.java @@ -116,7 +116,11 @@ public class MediaOutputPanel implements PanelContent, LocalMediaManager.DeviceC if (metadata != null) { final Bitmap bitmap = metadata.getDescription().getIconBitmap(); if (bitmap != null) { - return IconCompat.createWithBitmap(bitmap); + final Bitmap roundBitmap = Utils.convertCornerRadiusBitmap(mContext, bitmap, + (float) mContext.getResources().getDimensionPixelSize( + R.dimen.output_switcher_panel_icon_corner_radius)); + + return IconCompat.createWithBitmap(roundBitmap); } } Log.d(TAG, "Media meta data does not contain icon information"); diff --git a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java index 7616c4bda5..8dd8d7ad6a 100644 --- a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java +++ b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java @@ -214,15 +214,7 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController public void onReceive(Context context, Intent intent) { switch (intent.getAction()) { case WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION: - if (!intent.getBooleanExtra(WifiManager.EXTRA_MULTIPLE_NETWORKS_CHANGED, - false /* defaultValue */)) { - // only one network changed - WifiConfiguration wifiConfiguration = intent - .getParcelableExtra(WifiManager.EXTRA_WIFI_CONFIGURATION); - if (mAccessPoint.matches(wifiConfiguration)) { - mWifiConfig = wifiConfiguration; - } - } + updateMatchingWifiConfig(); // fall through case WifiManager.NETWORK_STATE_CHANGED_ACTION: case WifiManager.RSSI_CHANGED_ACTION: @@ -230,6 +222,17 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController break; } } + + private void updateMatchingWifiConfig() { + // use getPrivilegedConfiguredNetworks() to get Passpoint & other ephemeral networks + for (WifiConfiguration wifiConfiguration : + mWifiManager.getPrivilegedConfiguredNetworks()) { + if (mAccessPoint.matches(wifiConfiguration)) { + mWifiConfig = wifiConfiguration; + break; + } + } + } }; private final NetworkRequest mNetworkRequest = new NetworkRequest.Builder() |