Added experiment for back gesture dragging home button

Dragging the opposite direction of quickscrub will execute the back
functionality as if you pressed the button. If you hold the home button
while in gesture, every second it will execute back command. Both adb
commands below are default to false so they must be enabled first.

Enable the setprop value for enabling this functionality.
adb shell setprop persist.quickstepcontroller.homegoesback true

Fully remove the back (and ime up) arrow button. Dependent of above.
adb shell setprop persist.quickstepcontroller.hideback true
Then go home or start the ime/keyboard to see changes.

Test: manual
Bug: 112934365
Change-Id: I68b7f0415107fc134d51fafbd55bc641d4312815
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java
index 40c8fde..b84ee03 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java
@@ -195,8 +195,14 @@
         @Override
         public void onBackButtonAlphaChanged(float alpha, boolean animate) {
             final ButtonDispatcher backButton = mNavigationBarView.getBackButton();
-            backButton.setVisibility(alpha > 0 ? View.VISIBLE : View.INVISIBLE);
-            backButton.setAlpha(alpha, animate);
+            if (QuickStepController.shouldhideBackButton()) {
+                // If property was changed to hide/show back button, going home will trigger
+                // launcher to to change the back button alpha to reflect property change
+                backButton.setVisibility(View.GONE);
+            } else {
+                backButton.setVisibility(alpha > 0 ? View.VISIBLE : View.INVISIBLE);
+                backButton.setAlpha(alpha, animate);
+            }
         }
     };