android: QuickTileService: Do not use slashed icon on Android P

Android P features circle masked QS tiles which make use of colors
to denote STATE_ACTIVE/STATE_INACTIVE rather than a slash across
the drawable as seen on Android Oreo.

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
Harsh Shandilya 2018-07-15 17:10:38 +05:30 committed by Jason A. Donenfeld
parent ae5bf6fbb2
commit df03bdd7f9

View File

@ -55,12 +55,17 @@ public class QuickTileService extends TileService {
icon.setBounds(0, 0, c.getWidth(), c.getHeight()); icon.setBounds(0, 0, c.getWidth(), c.getHeight());
icon.draw(c); icon.draw(c);
iconOn = Icon.createWithBitmap(b); iconOn = Icon.createWithBitmap(b);
icon.setSlashed(true); /* TODO(msf): Change this to an explicit test for P when we start targetting SDK 28 */
b = Bitmap.createBitmap(icon.getIntrinsicWidth(), icon.getIntrinsicHeight(), Bitmap.Config.ARGB_8888); if (Build.VERSION.SDK_INT > Build.VERSION_CODES.O_MR1) {
c = new Canvas(b); iconOff = iconOn;
icon.setBounds(0, 0, c.getWidth(), c.getHeight()); } else {
icon.draw(c); icon.setSlashed(true);
iconOff = Icon.createWithBitmap(b); b = Bitmap.createBitmap(icon.getIntrinsicWidth(), icon.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
c = new Canvas(b);
icon.setBounds(0, 0, c.getWidth(), c.getHeight());
icon.draw(c);
iconOff = Icon.createWithBitmap(b);
}
} }
@Override @Override