diff --git a/src/org/lineageos/setupwizard/WelcomeActivity.java b/src/org/lineageos/setupwizard/WelcomeActivity.java index 63dcc54ed7d529d427f3e6a11561935ceb095279..eb60f275fa794f63a9fbdf3720ca596b9f4d46eb 100644 --- a/src/org/lineageos/setupwizard/WelcomeActivity.java +++ b/src/org/lineageos/setupwizard/WelcomeActivity.java @@ -18,10 +18,13 @@ package org.lineageos.setupwizard; import android.os.Bundle; +import android.os.Handler; +import android.view.KeyEvent; import android.view.MotionEvent; import android.view.View; import org.lineageos.setupwizard.util.EnableAccessibilityController; +import org.lineageos.setupwizard.util.SetupWizardUtils; public class WelcomeActivity extends BaseSetupWizardActivity { @@ -30,6 +33,9 @@ public class WelcomeActivity extends BaseSetupWizardActivity { private View mRootView; private EnableAccessibilityController mEnableAccessibilityController; + private int mVolumeUpCount = 0; + private Handler mHandler = new Handler(); + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -52,6 +58,30 @@ public class WelcomeActivity extends BaseSetupWizardActivity { startEmergencyDialer(); } + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) { + mVolumeUpCount++; + if (mVolumeUpCount == 1) { + // Schedule a runnable to reset the count after 1 second + mHandler.postDelayed(new Runnable() { + @Override + public void run() { + mVolumeUpCount = 0; + } + }, 1000); // 1 second delay + } + } else if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN && mVolumeUpCount == 2) { + // If the volume down key is pressed and the volume up count is 2 + // Finish the setup wizard and enable the status bar + SetupWizardUtils.finishSetupWizard(getApplicationContext()); + SetupWizardUtils.enableStatusBar(getApplicationContext()); + finish(); + } + + return super.onKeyDown(keyCode, event); + } + @Override protected int getLayoutResId() { return R.layout.welcome_activity;