summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/layout/overview_panel.xml9
-rw-r--r--res/values/strings.xml2
-rw-r--r--src/com/android/launcher3/Launcher.java12
-rw-r--r--src/com/android/launcher3/Workspace.java9
4 files changed, 32 insertions, 0 deletions
diff --git a/res/layout/overview_panel.xml b/res/layout/overview_panel.xml
index 713adea3c..e05adf2b9 100644
--- a/res/layout/overview_panel.xml
+++ b/res/layout/overview_panel.xml
@@ -36,4 +36,13 @@
android:layout_height="wrap_content"
android:text="@string/wallpaper_button_text"
android:textSize="18dp" />
+ <Space
+ android:layout_width="@dimen/overview_panel_buttonSpacing"
+ android:layout_height="wrap_content"/>
+ <TextView
+ android:id="@+id/settings_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/settings_button_text"
+ android:textSize="18dp" />
</LinearLayout>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 7b97889ac..b860d42aa 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -289,4 +289,6 @@ s -->
<string name="widget_button_text">Add Widget</string>
<!-- Text for wallpaper change button -->
<string name="wallpaper_button_text">Wallpaper</string>
+ <!-- Text for settings button -->
+ <string name="settings_button_text">Settings</string>
</resources>
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 35e166fc2..509560c74 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -919,6 +919,12 @@ public class Launcher extends Activity
// Custom content is completely hidden
public void onHide();
+
+ // Custom content scroll progress changed. From 0 (not showing) to 1 (fully showing).
+ public void onScrollProgressChanged(float progress);
+ }
+
+ protected void startSettings() {
}
public interface QSBScroller {
@@ -1123,6 +1129,12 @@ public class Launcher extends Activity
startWallpaper();
}
});
+ findViewById(R.id.settings_button).setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View arg0) {
+ startSettings();
+ }
+ });
// Setup the workspace
mWorkspace.setHapticFeedbackEnabled(false);
diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java
index b6ef27d6d..339f0abe6 100644
--- a/src/com/android/launcher3/Workspace.java
+++ b/src/com/android/launcher3/Workspace.java
@@ -134,6 +134,7 @@ public class Workspace extends SmoothPagedView
CustomContentCallbacks mCustomContentCallbacks;
boolean mCustomContentShowing;
+ private float mLastCustomContentScrollProgress = -1f;
/**
* The CellLayout that is currently being dragged over
@@ -1258,6 +1259,9 @@ public class Workspace extends SmoothPagedView
(getScrollForPage(index + 1) - getScrollForPage(index));
progress = Math.max(0, progress);
+ if (Float.compare(progress, mLastCustomContentScrollProgress) == 0) return;
+ mLastCustomContentScrollProgress = progress;
+
setBackgroundAlpha(progress * 0.8f);
float height = getViewportHeight();
if (getPageIndicator() != null) {
@@ -1271,6 +1275,7 @@ public class Workspace extends SmoothPagedView
mLauncher.getHotseat().setTranslationY(transY);
mLauncher.getHotseat().setAlpha(1 - progress);
}
+
if (getPageIndicator() != null) {
final float alpha = 1 - progress;
final View pi = getPageIndicator();
@@ -1281,6 +1286,10 @@ public class Workspace extends SmoothPagedView
pi.setVisibility(VISIBLE);
}
}
+
+ if (mCustomContentCallbacks != null) {
+ mCustomContentCallbacks.onScrollProgressChanged(progress);
+ }
}
}