The sample uses the addFlags method to set the FLAG_SECURE window flag on an activity that displays sensitive data.
1 2 3 4 5 6 7 8 91011121314151617181920
packageorg.owasp.mastestappimportandroid.app.Activityimportandroid.content.Contextimportandroid.view.WindowManager.LayoutParamsclassMastgTest(privatevalcontext:Context){varshouldRunInMainThread:Boolean=truefunmastgTest():String{if(contextisActivity){context.window.addFlags(LayoutParams.FLAG_SECURE)return"SUCCESS!!\n\nThe FLAG_SECURE has been set"}else{return"ERROR: Context is not an Activity"}}}
packageorg.owasp.mastestapp;importandroid.app.Activity;importandroid.content.Context;importkotlin.Metadata;importkotlin.jvm.internal.Intrinsics;/* compiled from: MastgTest.kt */@Metadata(d1={"\u0000 \n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u000b\n\u0002\b\u0005\n\u0002\u0010\u000e\n\u0000\b\u0007\u0018\u00002\u00020\u0001B\u000f\u0012\u0006\u0010\u0002\u001a\u00020\u0003¢\u0006\u0004\b\u0004\u0010\u0005J\u0006\u0010\f\u001a\u00020\rR\u000e\u0010\u0002\u001a\u00020\u0003X\u0082\u0004¢\u0006\u0002\n\u0000R\u001a\u0010\u0006\u001a\u00020\u0007X\u0086\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\b\u0010\t\"\u0004\b\n\u0010\u000b¨\u0006\u000e"},d2={"Lorg/owasp/mastestapp/MastgTest;","","context","Landroid/content/Context;","<init>","(Landroid/content/Context;)V","shouldRunInMainThread","","getShouldRunInMainThread","()Z","setShouldRunInMainThread","(Z)V","mastgTest","","app_debug"},k=1,mv={2,0,0},xi=48)/* loaded from: classes3.dex */publicfinalclassMastgTest{publicstaticfinalint$stable=8;privatefinalContextcontext;privatebooleanshouldRunInMainThread;publicMastgTest(Contextcontext){Intrinsics.checkNotNullParameter(context,"context");this.context=context;this.shouldRunInMainThread=true;}publicfinalbooleangetShouldRunInMainThread(){returnthis.shouldRunInMainThread;}publicfinalvoidsetShouldRunInMainThread(booleanz){this.shouldRunInMainThread=z;}publicfinalStringmastgTest(){if(this.contextinstanceofActivity){((Activity)this.context).getWindow().addFlags(8192);return"SUCCESS!!\n\nThe FLAG_SECURE has been set";}return"ERROR: Context is not an Activity";}}
rules:-id:mastg-android-flag-secure-enable-flagsseverity:INFOlanguages:[java]metadata:summary:WindowusesFLAG_SECUREtoblockscreenshots.message:"[MASVS-PLATFORM] Make sure you use this flag for all screens with sensitive data"pattern-either:-patterns:-pattern:$W.addFlags($F)-metavariable-regex:metavariable:$Fregex:^(FLAG_SECURE|8192|0x2000)$-patterns:-pattern:$W.setFlags($FLAGS,$FLAGS)-metavariable-regex:metavariable:$FLAGSregex:^(FLAG_SECURE|8192|0x2000)$