Merge "Set the floating rotation button to be visible." into qt-dev
This commit is contained in:
@@ -38,7 +38,6 @@
|
|||||||
<dimen name="navigation_handle_sample_horizontal_margin">10dp</dimen>
|
<dimen name="navigation_handle_sample_horizontal_margin">10dp</dimen>
|
||||||
<dimen name="navigation_home_handle_width">72dp</dimen>
|
<dimen name="navigation_home_handle_width">72dp</dimen>
|
||||||
|
|
||||||
|
|
||||||
<!-- Size of the nav bar edge panels, should be greater to the
|
<!-- Size of the nav bar edge panels, should be greater to the
|
||||||
edge sensitivity + the drag threshold -->
|
edge sensitivity + the drag threshold -->
|
||||||
<dimen name="navigation_edge_panel_width">70dp</dimen>
|
<dimen name="navigation_edge_panel_width">70dp</dimen>
|
||||||
@@ -57,6 +56,9 @@
|
|||||||
<!-- Luminance change threshold that allows applying new value if difference was exceeded -->
|
<!-- Luminance change threshold that allows applying new value if difference was exceeded -->
|
||||||
<item name="navigation_luminance_change_threshold" type="dimen" format="float">0.05</item>
|
<item name="navigation_luminance_change_threshold" type="dimen" format="float">0.05</item>
|
||||||
|
|
||||||
|
<dimen name="floating_rotation_button_diameter">40dp</dimen>
|
||||||
|
<dimen name="floating_rotation_button_margin">4dp</dimen>
|
||||||
|
|
||||||
<!-- Height of notification icons in the status bar -->
|
<!-- Height of notification icons in the status bar -->
|
||||||
<dimen name="status_bar_icon_size">@*android:dimen/status_bar_icon_size</dimen>
|
<dimen name="status_bar_icon_size">@*android:dimen/status_bar_icon_size</dimen>
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
package com.android.systemui.statusbar.phone;
|
package com.android.systemui.statusbar.phone;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.res.Resources;
|
||||||
import android.graphics.PixelFormat;
|
import android.graphics.PixelFormat;
|
||||||
import android.view.ContextThemeWrapper;
|
import android.view.ContextThemeWrapper;
|
||||||
import android.view.Gravity;
|
import android.view.Gravity;
|
||||||
@@ -35,6 +36,8 @@ public class FloatingRotationButton implements RotationButton {
|
|||||||
private final Context mContext;
|
private final Context mContext;
|
||||||
private final WindowManager mWindowManager;
|
private final WindowManager mWindowManager;
|
||||||
private final KeyButtonView mKeyButtonView;
|
private final KeyButtonView mKeyButtonView;
|
||||||
|
private final int mDiameter;
|
||||||
|
private final int mMargin;
|
||||||
private KeyButtonDrawable mKeyButtonDrawable;
|
private KeyButtonDrawable mKeyButtonDrawable;
|
||||||
private boolean mIsShowing;
|
private boolean mIsShowing;
|
||||||
private boolean mCanShow = true;
|
private boolean mCanShow = true;
|
||||||
@@ -46,6 +49,11 @@ public class FloatingRotationButton implements RotationButton {
|
|||||||
mWindowManager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
|
mWindowManager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
|
||||||
mKeyButtonView = (KeyButtonView) LayoutInflater.from(mContext).inflate(
|
mKeyButtonView = (KeyButtonView) LayoutInflater.from(mContext).inflate(
|
||||||
R.layout.rotate_suggestion, null);
|
R.layout.rotate_suggestion, null);
|
||||||
|
mKeyButtonView.setVisibility(View.VISIBLE);
|
||||||
|
|
||||||
|
Resources resources = mContext.getResources();
|
||||||
|
mDiameter = resources.getDimensionPixelSize(R.dimen.floating_rotation_button_diameter);
|
||||||
|
mMargin = resources.getDimensionPixelSize(R.dimen.floating_rotation_button_margin);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -66,11 +74,8 @@ public class FloatingRotationButton implements RotationButton {
|
|||||||
mIsShowing = true;
|
mIsShowing = true;
|
||||||
int flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
|
int flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
|
||||||
| WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
|
| WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
|
||||||
float density = mContext.getResources().getDisplayMetrics().density;
|
final WindowManager.LayoutParams lp = new WindowManager.LayoutParams(mDiameter, mDiameter,
|
||||||
int diameter = (int) density * 48;
|
mMargin, mMargin, WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL, flags,
|
||||||
int margin = (int) density * 4;
|
|
||||||
final WindowManager.LayoutParams lp = new WindowManager.LayoutParams(diameter, diameter,
|
|
||||||
margin, margin, WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL, flags,
|
|
||||||
PixelFormat.TRANSLUCENT);
|
PixelFormat.TRANSLUCENT);
|
||||||
lp.privateFlags |= WindowManager.LayoutParams.PRIVATE_FLAG_SHOW_FOR_ALL_USERS;
|
lp.privateFlags |= WindowManager.LayoutParams.PRIVATE_FLAG_SHOW_FOR_ALL_USERS;
|
||||||
lp.setTitle("FloatingRotationButton");
|
lp.setTitle("FloatingRotationButton");
|
||||||
|
|||||||
Reference in New Issue
Block a user