Merge "Correct Sharesheet icon and badge sizing" into rvc-dev am: 12ea0e4d4a am: d9f6701876 am: 3463218f8c

Change-Id: I05e1eedf4722412ad7a0115b76dff4eb2bb21b84
This commit is contained in:
TreeHugger Robot
2020-05-15 20:56:42 +00:00
committed by Automerger Merge Worker
8 changed files with 55 additions and 8 deletions

View File

@@ -778,6 +778,11 @@ public class ChooserActivity extends ResolverActivity implements
mDirectShareShortcutInfoCache = new HashMap<>();
}
@Override
protected int appliedThemeResId() {
return R.style.Theme_DeviceDefault_Chooser;
}
private AppPredictor setupAppPredictorForUser(UserHandle userHandle,
AppPredictor.Callback appPredictorCallback) {
AppPredictor appPredictor = getAppPredictorForDirectShareIfEnabled(userHandle);

View File

@@ -324,7 +324,7 @@ public class ResolverActivity extends Activity implements
protected void onCreate(Bundle savedInstanceState, Intent intent,
CharSequence title, int defaultTitleRes, Intent[] initialIntents,
List<ResolveInfo> rList, boolean supportsAlwaysUseOption) {
setTheme(R.style.Theme_DeviceDefault_Resolver);
setTheme(appliedThemeResId());
super.onCreate(savedInstanceState);
// Determine whether we should show that intent is forwarded
@@ -507,6 +507,10 @@ public class ResolverActivity extends Activity implements
/* shouldShowNoCrossProfileIntentsEmptyState= */ getUser().equals(intentUser));
}
protected int appliedThemeResId() {
return R.style.Theme_DeviceDefault_Resolver;
}
/**
* Returns the user id of the user that the starting intent originated from.
* <p>This is not necessarily equal to {@link #getUserId()} or {@link UserHandle#myUserId()},

View File

@@ -20,6 +20,7 @@ import static android.content.Context.ACTIVITY_SERVICE;
import static android.graphics.Paint.DITHER_FLAG;
import static android.graphics.Paint.FILTER_BITMAP_FLAG;
import android.annotation.AttrRes;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.app.ActivityManager;
@@ -46,6 +47,7 @@ import android.graphics.drawable.DrawableWrapper;
import android.os.UserHandle;
import android.util.AttributeSet;
import android.util.Pools.SynchronizedPool;
import android.util.TypedValue;
import com.android.internal.R;
@@ -92,10 +94,8 @@ public class SimpleIconFactory {
final ActivityManager am = (ActivityManager) ctx.getSystemService(ACTIVITY_SERVICE);
final int iconDpi = (am == null) ? 0 : am.getLauncherLargeIconDensity();
final Resources r = ctx.getResources();
final int iconSize = r.getDimensionPixelSize(R.dimen.resolver_icon_size);
final int badgeSize = r.getDimensionPixelSize(R.dimen.resolver_badge_size);
final int iconSize = getIconSizeFromContext(ctx);
final int badgeSize = getBadgeSizeFromContext(ctx);
instance = new SimpleIconFactory(ctx, iconDpi, iconSize, badgeSize);
instance.setWrapperBackgroundColor(Color.WHITE);
}
@@ -103,6 +103,27 @@ public class SimpleIconFactory {
return instance;
}
private static int getAttrDimFromContext(Context ctx, @AttrRes int attrId, String errorMsg) {
final Resources res = ctx.getResources();
TypedValue outVal = new TypedValue();
if (!ctx.getTheme().resolveAttribute(attrId, outVal, true)) {
throw new IllegalStateException(errorMsg);
}
return res.getDimensionPixelSize(outVal.resourceId);
}
private static int getIconSizeFromContext(Context ctx) {
return getAttrDimFromContext(ctx,
com.android.internal.R.attr.iconfactoryIconSize,
"Expected theme to define iconfactoryIconSize.");
}
private static int getBadgeSizeFromContext(Context ctx) {
return getAttrDimFromContext(ctx,
com.android.internal.R.attr.iconfactoryBadgeSize,
"Expected theme to define iconfactoryBadgeSize.");
}
/**
* Recycles the SimpleIconFactory so others may use it.
*

View File

@@ -5053,7 +5053,7 @@
android:forceQueryable="true"
android:directBootAware="true">
<activity android:name="com.android.internal.app.ChooserActivity"
android:theme="@style/Theme.DeviceDefault.Resolver"
android:theme="@style/Theme.DeviceDefault.Chooser"
android:finishOnCloseSystemDialogs="true"
android:excludeFromRecents="true"
android:documentLaunchMode="never"

View File

@@ -9230,4 +9230,7 @@
</declare-styleable>
<attr name="autoSizePresetSizes" />
<attr name="iconfactoryIconSize" format="dimension"/>
<attr name="iconfactoryBadgeSize" format="dimension"/>
</resources>

View File

@@ -812,7 +812,8 @@
<dimen name="chooser_header_scroll_elevation">4dp</dimen>
<dimen name="chooser_max_collapsed_height">288dp</dimen>
<dimen name="chooser_direct_share_label_placeholder_max_width">72dp</dimen>
<dimen name="chooser_icon_size">42dp</dimen>
<dimen name="chooser_icon_size">56dp</dimen>
<dimen name="chooser_badge_size">22dp</dimen>
<dimen name="resolver_icon_size">32dp</dimen>
<dimen name="resolver_button_bar_spacing">8dp</dimen>
<dimen name="resolver_badge_size">18dp</dimen>

View File

@@ -2534,6 +2534,7 @@
<java-symbol type="style" name="TextAppearance.Material.TimePicker.TimeLabel" />
<java-symbol type="attr" name="seekBarPreferenceStyle" />
<java-symbol type="style" name="Theme.DeviceDefault.Resolver" />
<java-symbol type="style" name="Theme.DeviceDefault.Chooser" />
<java-symbol type="style" name="Theme.DeviceDefault.System" />
<java-symbol type="attr" name="preferenceActivityStyle" />
<java-symbol type="attr" name="preferenceFragmentStyle" />
@@ -3785,8 +3786,11 @@
<!-- For Auto-Brightness -->
<java-symbol type="string" name="config_displayLightSensorType" />
<java-symbol type="drawable" name="iconfactory_adaptive_icon_drawable_wrapper"/>
<java-symbol type="dimen" name="notification_min_height" />
<java-symbol type="drawable" name="iconfactory_adaptive_icon_drawable_wrapper"/>
<java-symbol type="attr" name="iconfactoryIconSize"/>
<java-symbol type="attr" name="iconfactoryBadgeSize"/>
<java-symbol type="dimen" name="resolver_icon_size"/>
<java-symbol type="dimen" name="resolver_badge_size"/>
<java-symbol type="dimen" name="resolver_button_bar_spacing"/>
@@ -3795,6 +3799,7 @@
<java-symbol type="dimen" name="resolver_edge_margin"/>
<java-symbol type="dimen" name="resolver_elevation"/>
<java-symbol type="dimen" name="chooser_icon_size"/>
<java-symbol type="dimen" name="chooser_badge_size"/>
<!-- For DropBox -->
<java-symbol type="integer" name="config_dropboxLowPriorityBroadcastRateLimitPeriod" />
@@ -4020,4 +4025,5 @@
<java-symbol type="string" name="config_pdp_reject_user_authentication_failed" />
<java-symbol type="string" name="config_pdp_reject_service_not_subscribed" />
<java-symbol type="string" name="config_pdp_reject_multi_conn_to_same_pdn_not_allowed" />
</resources>

View File

@@ -1680,6 +1680,8 @@ easier.
<item name="listPreferredItemPaddingEnd">?attr/dialogPreferredPadding</item>
<item name="navigationBarColor">@android:color/transparent</item>
<item name="tabWidgetStyle">@style/Widget.DeviceDefault.Resolver.TabWidget</item>
<item name="iconfactoryIconSize">@dimen/resolver_icon_size</item>
<item name="iconfactoryBadgeSize">@dimen/resolver_badge_size</item>
</style>
<style name="Widget.DeviceDefault.Resolver.TabWidget" parent="Widget.DeviceDefault.TabWidget">
@@ -1694,6 +1696,11 @@ easier.
<item name="windowLightNavigationBar">true</item>
</style>
<style name="Theme.DeviceDefault.Chooser" parent="Theme.DeviceDefault.Resolver">
<item name="iconfactoryIconSize">@dimen/chooser_icon_size</item>
<item name="iconfactoryBadgeSize">@dimen/chooser_badge_size</item>
</style>
<style name="Animation.DeviceDefault.Activity.Resolver" parent="Animation.DeviceDefault.Activity">
<item name="activityOpenEnterAnimation">@anim/resolver_launch_anim</item>
<item name="taskOpenEnterAnimation">@anim/resolver_launch_anim</item>