Skip to content

Commit

Permalink
Do not show onboarding when lock task mode is enabled
Browse files Browse the repository at this point in the history
  • Loading branch information
marukami authored and PatrykMis committed May 21, 2024
1 parent 0793167 commit 80aca90
Showing 1 changed file with 11 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,15 @@
import static com.google.android.accessibility.talkback.trainingcommon.TrainingConfig.TrainingId.TRAINING_ID_ON_BOARDING_TALKBACK;
import static com.google.android.accessibility.talkback.trainingcommon.TrainingConfig.TrainingId.TRAINING_ID_ON_BOARDING_TALKBACK_WITHOUT_DESCRIBE_IMAGE;

import android.app.ActivityManager;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.util.Log;

import androidx.annotation.StringRes;
import androidx.annotation.VisibleForTesting;
import com.google.android.accessibility.talkback.R;
Expand Down Expand Up @@ -78,7 +81,7 @@ public static boolean hasOnboardingForNewFeaturesBeenShown(
*/
public static void showOnboardingIfNecessary(Context context) {
FormFactorUtils formFactorUtils = FormFactorUtils.getInstance();
if (formFactorUtils.isAndroidTv() || formFactorUtils.isAndroidWear()) {
if (formFactorUtils.isAndroidTv() || formFactorUtils.isAndroidWear() || isInLockTaskMode(context)) {
return;
}

Expand Down Expand Up @@ -118,6 +121,13 @@ public static void showOnboardingIfNecessary(Context context) {
}
}

/** Typically Kiosk device use Lock Task mode. If enabled assume the device is a Kiosk device */
private static boolean isInLockTaskMode(Context context) {
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
Log.i("DEBUG", "activityManager.getLockTaskModeState() " + activityManager.getLockTaskModeState());
return activityManager.getLockTaskModeState() != ActivityManager.LOCK_TASK_MODE_NONE;
}

private static boolean hasOnboardingForMultiFingerGestureSupportBeenShown(
SharedPreferences prefs, Context context) {
return prefs.getBoolean(
Expand Down

0 comments on commit 80aca90

Please sign in to comment.