Skip to content

Commit c8f7c5e

Browse files
Jim MillerAndroid (Google) Code Review
authored andcommitted
Merge "Fill in logic in WidgetPager to ignore music when reordering." into jb-mr1-lockscreen-dev
2 parents bd0bf15 + e0566da commit c8f7c5e

File tree

3 files changed

+25
-16
lines changed

3 files changed

+25
-16
lines changed

policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,6 @@ public class KeyguardHostView extends KeyguardViewBase {
6565
// also referenced in SecuritySettings.java
6666
static final int APPWIDGET_HOST_ID = 0x4B455947;
6767

68-
// transport control states
69-
private static final int TRANSPORT_GONE = 0;
70-
private static final int TRANSPORT_INVISIBLE = 1;
71-
private static final int TRANSPORT_VISIBLE = 2;
72-
7368
private AppWidgetHost mAppWidgetHost;
7469
private KeyguardWidgetPager mAppWidgetContainer;
7570
private KeyguardSecurityViewFlipper mSecurityViewContainer;
@@ -89,7 +84,6 @@ public class KeyguardHostView extends KeyguardViewBase {
8984
private KeyguardViewStateManager mViewStateManager;
9085

9186
private Rect mTempRect = new Rect();
92-
private int mTransportState = TRANSPORT_GONE;
9387

9488
/*package*/ interface TransportCallback {
9589
void onListenerDetached();
@@ -914,7 +908,7 @@ private void removeTransportFromWidgetPager() {
914908
// XXX keep view attached so we still get show/hide events from AudioManager
915909
KeyguardHostView.this.addView(mTransportControl);
916910
mTransportControl.setVisibility(View.GONE);
917-
mTransportState = TRANSPORT_GONE;
911+
mViewStateManager.setTransportState(KeyguardViewStateManager.TRANSPORT_GONE);
918912
mTransportControl.post(mSwitchPageRunnable);
919913
}
920914
}
@@ -1044,7 +1038,7 @@ public Parcelable onSaveInstanceState() {
10441038
saveStickyWidgetIndex();
10451039
Parcelable superState = super.onSaveInstanceState();
10461040
SavedState ss = new SavedState(superState);
1047-
ss.transportState = mTransportState;
1041+
ss.transportState = mViewStateManager.getTransportState();
10481042
return ss;
10491043
}
10501044

@@ -1057,7 +1051,7 @@ public void onRestoreInstanceState(Parcelable state) {
10571051
}
10581052
SavedState ss = (SavedState) state;
10591053
super.onRestoreInstanceState(ss.getSuperState());
1060-
mTransportState = ss.transportState;
1054+
mViewStateManager.setTransportState(ss.transportState);
10611055
post(mSwitchPageRunnable);
10621056
}
10631057

@@ -1071,13 +1065,14 @@ public void onWindowFocusChanged(boolean hasWindowFocus) {
10711065
}
10721066

10731067
private void showAppropriateWidgetPage() {
1074-
boolean isMusicPlaying =
1075-
mTransportControl.isMusicPlaying() || mTransportState == TRANSPORT_VISIBLE;
1068+
int state = mViewStateManager.getTransportState();
1069+
boolean isMusicPlaying = mTransportControl.isMusicPlaying()
1070+
|| state == KeyguardViewStateManager.TRANSPORT_VISIBLE;
10761071
if (isMusicPlaying) {
1077-
mTransportState = TRANSPORT_VISIBLE;
1072+
mViewStateManager.setTransportState(KeyguardViewStateManager.TRANSPORT_VISIBLE);
10781073
addTransportToWidgetPager();
1079-
} else if (mTransportState == TRANSPORT_VISIBLE) {
1080-
mTransportState = TRANSPORT_INVISIBLE;
1074+
} else if (state == KeyguardViewStateManager.TRANSPORT_VISIBLE) {
1075+
mViewStateManager.setTransportState(KeyguardViewStateManager.TRANSPORT_INVISIBLE);
10811076
}
10821077
int pageToShow = getAppropriateWidgetPage(isMusicPlaying);
10831078
mAppWidgetContainer.setCurrentPage(pageToShow);

policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewStateManager.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,13 @@ public class KeyguardViewStateManager implements SlidingChallengeLayout.OnChalle
3232
private static final int SCREEN_ON_RING_HINT_DELAY = 300;
3333
Handler mMainQueue = new Handler(Looper.myLooper());
3434

35+
// transport control states
36+
static final int TRANSPORT_GONE = 0;
37+
static final int TRANSPORT_INVISIBLE = 1;
38+
static final int TRANSPORT_VISIBLE = 2;
39+
40+
private int mTransportState = TRANSPORT_GONE;
41+
3542
int mLastScrollState = SlidingChallengeLayout.SCROLL_STATE_IDLE;
3643

3744
// Paged view state
@@ -214,4 +221,12 @@ public void run() {
214221

215222
mMainQueue.postDelayed(mHideHintsRunnable, SCREEN_ON_HINT_DURATION);
216223
}
224+
225+
public void setTransportState(int state) {
226+
mTransportState = state;
227+
}
228+
229+
public int getTransportState() {
230+
return mTransportState;
231+
}
217232
}

policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetPager.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -450,8 +450,7 @@ boolean isAddWidgetPageVisible() {
450450
return true;
451451
}
452452
boolean isMusicWidgetVisible() {
453-
// TODO: Make proper test once we have music in the list
454-
return false;
453+
return mViewStateManager.getTransportState() != KeyguardViewStateManager.TRANSPORT_GONE;
455454
}
456455
boolean isCameraWidgetVisible() {
457456
return mCameraWidgetEnabled;

0 commit comments

Comments
 (0)