5

I have a request that when the my Android application is placed into the background that I blank out the screen to hide sensitive data. This was easy enough to implement using the:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);

The difficult part appears to be changing the color of that blank screen you get when looking at the apps in the background. By default it appears to be white and I can't seem to find a way to override that. Anyone have any ideas?

Mattia Maestrini
  • 31,494
  • 15
  • 84
  • 93
nwallman
  • 482
  • 6
  • 14

2 Answers2

10

Unfortunately you can't customize the color of the thumbnail in the recents view.

As you can see in TaskViewThumbnail the default color of the thumbnail (0xffffffff) is hardcoded, so it's not customizable:

/** Updates the paint to draw the thumbnail. */
void updateThumbnailPaintFilter() {
    if (mInvisible) {
        return;
    }
    int mul = (int) ((1.0f - mDimAlpha) * mThumbnailAlpha * 255);
    int add = (int) ((1.0f - mDimAlpha) * (1 - mThumbnailAlpha) * 255);
    if (mBitmapShader != null) {
        mLightingColorFilter.setColorMultiply(Color.argb(255, mul, mul, mul));
        mLightingColorFilter.setColorAdd(Color.argb(0, add, add, add));
        mDrawPaint.setColorFilter(mLightingColorFilter);
        mDrawPaint.setColor(0xffffffff);
    } else {
        int grey = mul + add;
        mDrawPaint.setColorFilter(null);
        mDrawPaint.setColor(Color.argb(255, grey, grey, grey));
    }
    invalidate();
}
Mattia Maestrini
  • 31,494
  • 15
  • 84
  • 93
1

I'm able to change color of window background to "black" when using FLAG_SECURE through AppTheme in styles.xml file via changing theme like this:

<style name="AppTheme" parent="Theme.AppCompat"> 
****
</style>

It can be customizable to any color but I need black, so if you need custom color make further investigation.

Hourglasser
  • 457
  • 1
  • 4
  • 14