- Add AdaptiveIconShapeDrawable for the homepage icon backgrounds - Rename RoundedHomepageIcon -> AdaptiveHomepageIcon to reflect that the adaptive icon shape is used Bug: 123829919 Test: mp settings; manually viewing homepage icons Change-Id: I9fddfbf57461b300200f30f716d861878bbbcc38
44 lines
1.4 KiB
Java
44 lines
1.4 KiB
Java
package com.android.settings.homepage;
|
|
|
|
import android.content.res.Resources;
|
|
import android.content.res.Resources.Theme;
|
|
import android.graphics.Path;
|
|
import android.graphics.drawable.AdaptiveIconDrawable;
|
|
import android.graphics.drawable.ShapeDrawable;
|
|
import android.graphics.drawable.shapes.PathShape;
|
|
import android.util.AttributeSet;
|
|
import android.util.PathParser;
|
|
|
|
import org.xmlpull.v1.XmlPullParser;
|
|
import org.xmlpull.v1.XmlPullParserException;
|
|
|
|
import java.io.IOException;
|
|
|
|
/**
|
|
* Draws a filled {@link ShapeDrawable} using the path from {@link AdaptiveIconDrawable}.
|
|
*/
|
|
public class AdaptiveIconShapeDrawable extends ShapeDrawable {
|
|
public AdaptiveIconShapeDrawable() {
|
|
super();
|
|
}
|
|
|
|
public AdaptiveIconShapeDrawable(Resources resources) {
|
|
super();
|
|
init(resources);
|
|
}
|
|
|
|
@Override
|
|
public void inflate(Resources r, XmlPullParser parser, AttributeSet attrs, Theme theme)
|
|
throws XmlPullParserException, IOException {
|
|
super.inflate(r, parser, attrs, theme);
|
|
init(r);
|
|
}
|
|
|
|
private void init(Resources resources) {
|
|
final float pathSize = AdaptiveIconDrawable.MASK_SIZE;
|
|
final Path path = new Path(PathParser.createPathFromPathData(
|
|
resources.getString(com.android.internal.R.string.config_icon_mask)));
|
|
setShape(new PathShape(path, pathSize, pathSize));
|
|
}
|
|
}
|