Merge "[Provider Model] Adjust the design of "See all" (QS Internet Dialog)" into sc-v2-dev am: d54867d6c0
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16402869 Change-Id: Ifb8e43d9c9fbcfc75c5e983bfe3cd4151ea47ca5
This commit is contained in:
@@ -137,6 +137,8 @@ public class InternetDialog extends SystemUIDialog implements
|
|||||||
protected WifiEntry mConnectedWifiEntry;
|
protected WifiEntry mConnectedWifiEntry;
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
protected int mWifiEntriesCount;
|
protected int mWifiEntriesCount;
|
||||||
|
@VisibleForTesting
|
||||||
|
protected boolean mHasMoreEntry;
|
||||||
|
|
||||||
// Wi-Fi scanning progress bar
|
// Wi-Fi scanning progress bar
|
||||||
protected boolean mIsProgressBarVisible;
|
protected boolean mIsProgressBarVisible;
|
||||||
@@ -464,8 +466,7 @@ public class InternetDialog extends SystemUIDialog implements
|
|||||||
}
|
}
|
||||||
mWifiRecyclerView.setMinimumHeight(mWifiNetworkHeight * getWifiListMaxCount());
|
mWifiRecyclerView.setMinimumHeight(mWifiNetworkHeight * getWifiListMaxCount());
|
||||||
mWifiRecyclerView.setVisibility(View.VISIBLE);
|
mWifiRecyclerView.setVisibility(View.VISIBLE);
|
||||||
final boolean showSeeAll = mConnectedWifiEntry != null || mWifiEntriesCount > 0;
|
mSeeAllLayout.setVisibility(mHasMoreEntry ? View.VISIBLE : View.INVISIBLE);
|
||||||
mSeeAllLayout.setVisibility(showSeeAll ? View.VISIBLE : View.INVISIBLE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
@@ -655,13 +656,14 @@ public class InternetDialog extends SystemUIDialog implements
|
|||||||
@Override
|
@Override
|
||||||
@WorkerThread
|
@WorkerThread
|
||||||
public void onAccessPointsChanged(@Nullable List<WifiEntry> wifiEntries,
|
public void onAccessPointsChanged(@Nullable List<WifiEntry> wifiEntries,
|
||||||
@Nullable WifiEntry connectedEntry) {
|
@Nullable WifiEntry connectedEntry, boolean hasMoreEntry) {
|
||||||
// Should update the carrier network layout when it is connected under airplane mode ON.
|
// Should update the carrier network layout when it is connected under airplane mode ON.
|
||||||
boolean shouldUpdateCarrierNetwork = mMobileNetworkLayout.getVisibility() == View.VISIBLE
|
boolean shouldUpdateCarrierNetwork = mMobileNetworkLayout.getVisibility() == View.VISIBLE
|
||||||
&& mInternetDialogController.isAirplaneModeEnabled();
|
&& mInternetDialogController.isAirplaneModeEnabled();
|
||||||
mHandler.post(() -> {
|
mHandler.post(() -> {
|
||||||
mConnectedWifiEntry = connectedEntry;
|
mConnectedWifiEntry = connectedEntry;
|
||||||
mWifiEntriesCount = wifiEntries == null ? 0 : wifiEntries.size();
|
mWifiEntriesCount = wifiEntries == null ? 0 : wifiEntries.size();
|
||||||
|
mHasMoreEntry = hasMoreEntry;
|
||||||
updateDialog(shouldUpdateCarrierNetwork /* shouldUpdateMobileNetwork */);
|
updateDialog(shouldUpdateCarrierNetwork /* shouldUpdateMobileNetwork */);
|
||||||
mAdapter.setWifiEntries(wifiEntries, mWifiEntriesCount);
|
mAdapter.setWifiEntries(wifiEntries, mWifiEntriesCount);
|
||||||
mAdapter.notifyDataSetChanged();
|
mAdapter.notifyDataSetChanged();
|
||||||
|
|||||||
@@ -883,11 +883,13 @@ public class InternetDialogController implements AccessPointController.AccessPoi
|
|||||||
mConnectedEntry = null;
|
mConnectedEntry = null;
|
||||||
mWifiEntriesCount = 0;
|
mWifiEntriesCount = 0;
|
||||||
if (mCallback != null) {
|
if (mCallback != null) {
|
||||||
mCallback.onAccessPointsChanged(null /* wifiEntries */, null /* connectedEntry */);
|
mCallback.onAccessPointsChanged(null /* wifiEntries */, null /* connectedEntry */,
|
||||||
|
false /* hasMoreEntry */);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
boolean hasMoreEntry = false;
|
||||||
int count = MAX_WIFI_ENTRY_COUNT;
|
int count = MAX_WIFI_ENTRY_COUNT;
|
||||||
if (mHasEthernet) {
|
if (mHasEthernet) {
|
||||||
count -= 1;
|
count -= 1;
|
||||||
@@ -895,8 +897,11 @@ public class InternetDialogController implements AccessPointController.AccessPoi
|
|||||||
if (hasActiveSubId() || isCarrierNetworkActive()) {
|
if (hasActiveSubId() || isCarrierNetworkActive()) {
|
||||||
count -= 1;
|
count -= 1;
|
||||||
}
|
}
|
||||||
if (count > accessPoints.size()) {
|
final int wifiTotalCount = accessPoints.size();
|
||||||
count = accessPoints.size();
|
if (count > wifiTotalCount) {
|
||||||
|
count = wifiTotalCount;
|
||||||
|
} else if (count < wifiTotalCount) {
|
||||||
|
hasMoreEntry = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
WifiEntry connectedEntry = null;
|
WifiEntry connectedEntry = null;
|
||||||
@@ -913,7 +918,7 @@ public class InternetDialogController implements AccessPointController.AccessPoi
|
|||||||
mWifiEntriesCount = wifiEntries.size();
|
mWifiEntriesCount = wifiEntries.size();
|
||||||
|
|
||||||
if (mCallback != null) {
|
if (mCallback != null) {
|
||||||
mCallback.onAccessPointsChanged(wifiEntries, mConnectedEntry);
|
mCallback.onAccessPointsChanged(wifiEntries, mConnectedEntry, hasMoreEntry);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1064,7 +1069,7 @@ public class InternetDialogController implements AccessPointController.AccessPoi
|
|||||||
void dismissDialog();
|
void dismissDialog();
|
||||||
|
|
||||||
void onAccessPointsChanged(@Nullable List<WifiEntry> wifiEntries,
|
void onAccessPointsChanged(@Nullable List<WifiEntry> wifiEntries,
|
||||||
@Nullable WifiEntry connectedEntry);
|
@Nullable WifiEntry connectedEntry, boolean hasMoreEntry);
|
||||||
}
|
}
|
||||||
|
|
||||||
void makeOverlayToast(int stringId) {
|
void makeOverlayToast(int stringId) {
|
||||||
|
|||||||
@@ -410,7 +410,7 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
|||||||
|
|
||||||
mInternetDialogController.onAccessPointsChanged(null /* accessPoints */);
|
mInternetDialogController.onAccessPointsChanged(null /* accessPoints */);
|
||||||
|
|
||||||
verify(mInternetDialogCallback, never()).onAccessPointsChanged(any(), any());
|
verify(mInternetDialogCallback, never()).onAccessPointsChanged(any(), any(), anyBoolean());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -419,8 +419,8 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
|||||||
|
|
||||||
mInternetDialogController.onAccessPointsChanged(null /* accessPoints */);
|
mInternetDialogController.onAccessPointsChanged(null /* accessPoints */);
|
||||||
|
|
||||||
verify(mInternetDialogCallback)
|
verify(mInternetDialogCallback).onAccessPointsChanged(null /* wifiEntries */,
|
||||||
.onAccessPointsChanged(null /* wifiEntries */, null /* connectedEntry */);
|
null /* connectedEntry */, false /* hasMoreEntry */);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -433,7 +433,8 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
|||||||
mInternetDialogController.onAccessPointsChanged(mAccessPoints);
|
mInternetDialogController.onAccessPointsChanged(mAccessPoints);
|
||||||
|
|
||||||
mWifiEntries.clear();
|
mWifiEntries.clear();
|
||||||
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry);
|
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry,
|
||||||
|
false /* hasMoreEntry */);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -447,8 +448,8 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
|||||||
|
|
||||||
mWifiEntries.clear();
|
mWifiEntries.clear();
|
||||||
mWifiEntries.add(mWifiEntry1);
|
mWifiEntries.add(mWifiEntry1);
|
||||||
verify(mInternetDialogCallback)
|
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries,
|
||||||
.onAccessPointsChanged(mWifiEntries, null /* connectedEntry */);
|
null /* connectedEntry */, false /* hasMoreEntry */);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -463,7 +464,8 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
|||||||
|
|
||||||
mWifiEntries.clear();
|
mWifiEntries.clear();
|
||||||
mWifiEntries.add(mWifiEntry1);
|
mWifiEntries.add(mWifiEntry1);
|
||||||
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry);
|
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry,
|
||||||
|
false /* hasMoreEntry */);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -480,7 +482,8 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
|||||||
mWifiEntries.clear();
|
mWifiEntries.clear();
|
||||||
mWifiEntries.add(mWifiEntry1);
|
mWifiEntries.add(mWifiEntry1);
|
||||||
mWifiEntries.add(mWifiEntry2);
|
mWifiEntries.add(mWifiEntry2);
|
||||||
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry);
|
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry,
|
||||||
|
false /* hasMoreEntry */);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -499,7 +502,8 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
|||||||
mWifiEntries.add(mWifiEntry1);
|
mWifiEntries.add(mWifiEntry1);
|
||||||
mWifiEntries.add(mWifiEntry2);
|
mWifiEntries.add(mWifiEntry2);
|
||||||
mWifiEntries.add(mWifiEntry3);
|
mWifiEntries.add(mWifiEntry3);
|
||||||
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry);
|
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry,
|
||||||
|
false /* hasMoreEntry */);
|
||||||
|
|
||||||
// Turn off airplane mode to has carrier network, then Wi-Fi entries will cut last one.
|
// Turn off airplane mode to has carrier network, then Wi-Fi entries will cut last one.
|
||||||
reset(mInternetDialogCallback);
|
reset(mInternetDialogCallback);
|
||||||
@@ -508,7 +512,8 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
|||||||
mInternetDialogController.onAccessPointsChanged(mAccessPoints);
|
mInternetDialogController.onAccessPointsChanged(mAccessPoints);
|
||||||
|
|
||||||
mWifiEntries.remove(mWifiEntry3);
|
mWifiEntries.remove(mWifiEntry3);
|
||||||
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry);
|
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry,
|
||||||
|
true /* hasMoreEntry */);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -528,7 +533,8 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
|||||||
mWifiEntries.add(mWifiEntry1);
|
mWifiEntries.add(mWifiEntry1);
|
||||||
mWifiEntries.add(mWifiEntry2);
|
mWifiEntries.add(mWifiEntry2);
|
||||||
mWifiEntries.add(mWifiEntry3);
|
mWifiEntries.add(mWifiEntry3);
|
||||||
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry);
|
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry,
|
||||||
|
true /* hasMoreEntry */);
|
||||||
|
|
||||||
// Turn off airplane mode to has carrier network, then Wi-Fi entries will cut last one.
|
// Turn off airplane mode to has carrier network, then Wi-Fi entries will cut last one.
|
||||||
reset(mInternetDialogCallback);
|
reset(mInternetDialogCallback);
|
||||||
@@ -537,7 +543,8 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
|||||||
mInternetDialogController.onAccessPointsChanged(mAccessPoints);
|
mInternetDialogController.onAccessPointsChanged(mAccessPoints);
|
||||||
|
|
||||||
mWifiEntries.remove(mWifiEntry3);
|
mWifiEntries.remove(mWifiEntry3);
|
||||||
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry);
|
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry,
|
||||||
|
true /* hasMoreEntry */);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -587,8 +594,8 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
|||||||
mWifiEntries.add(mWifiEntry2);
|
mWifiEntries.add(mWifiEntry2);
|
||||||
mWifiEntries.add(mWifiEntry3);
|
mWifiEntries.add(mWifiEntry3);
|
||||||
mWifiEntries.add(mWifiEntry4);
|
mWifiEntries.add(mWifiEntry4);
|
||||||
verify(mInternetDialogCallback)
|
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries,
|
||||||
.onAccessPointsChanged(mWifiEntries, null /* connectedEntry */);
|
null /* connectedEntry */, false /* hasMoreEntry */);
|
||||||
|
|
||||||
// If the Ethernet exists, then Wi-Fi entries will cut last one.
|
// If the Ethernet exists, then Wi-Fi entries will cut last one.
|
||||||
reset(mInternetDialogCallback);
|
reset(mInternetDialogCallback);
|
||||||
@@ -597,8 +604,8 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
|||||||
mInternetDialogController.onAccessPointsChanged(mAccessPoints);
|
mInternetDialogController.onAccessPointsChanged(mAccessPoints);
|
||||||
|
|
||||||
mWifiEntries.remove(mWifiEntry4);
|
mWifiEntries.remove(mWifiEntry4);
|
||||||
verify(mInternetDialogCallback)
|
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries,
|
||||||
.onAccessPointsChanged(mWifiEntries, null /* connectedEntry */);
|
null /* connectedEntry */, true /* hasMoreEntry */);
|
||||||
|
|
||||||
// Turn off airplane mode to has carrier network, then Wi-Fi entries will cut last one.
|
// Turn off airplane mode to has carrier network, then Wi-Fi entries will cut last one.
|
||||||
reset(mInternetDialogCallback);
|
reset(mInternetDialogCallback);
|
||||||
@@ -607,8 +614,8 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
|||||||
mInternetDialogController.onAccessPointsChanged(mAccessPoints);
|
mInternetDialogController.onAccessPointsChanged(mAccessPoints);
|
||||||
|
|
||||||
mWifiEntries.remove(mWifiEntry3);
|
mWifiEntries.remove(mWifiEntry3);
|
||||||
verify(mInternetDialogCallback)
|
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries,
|
||||||
.onAccessPointsChanged(mWifiEntries, null /* connectedEntry */);
|
null /* connectedEntry */, true /* hasMoreEntry */);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -624,8 +631,8 @@ public class InternetDialogControllerTest extends SysuiTestCase {
|
|||||||
|
|
||||||
mWifiEntries.clear();
|
mWifiEntries.clear();
|
||||||
mWifiEntries.add(mWifiEntry1);
|
mWifiEntries.add(mWifiEntry1);
|
||||||
verify(mInternetDialogCallback)
|
verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries,
|
||||||
.onAccessPointsChanged(mWifiEntries, null /* connectedEntry */);
|
null /* connectedEntry */, false /* hasMoreEntry */);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
@@ -315,6 +315,20 @@ public class InternetDialogTest extends SysuiTestCase {
|
|||||||
assertThat(mSeeAll.getVisibility()).isEqualTo(View.INVISIBLE);
|
assertThat(mSeeAll.getVisibility()).isEqualTo(View.INVISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void updateDialog_wifiOnAndOneWifiEntry_showWifiListAndSeeAllArea() {
|
||||||
|
// The precondition WiFi ON is already in setUp()
|
||||||
|
mInternetDialog.mConnectedWifiEntry = null;
|
||||||
|
mInternetDialog.mWifiEntriesCount = 1;
|
||||||
|
|
||||||
|
mInternetDialog.updateDialog(false);
|
||||||
|
|
||||||
|
assertThat(mConnectedWifi.getVisibility()).isEqualTo(View.GONE);
|
||||||
|
// Show a blank block to fix the dialog height even if there is no WiFi list
|
||||||
|
assertThat(mWifiList.getVisibility()).isEqualTo(View.VISIBLE);
|
||||||
|
assertThat(mSeeAll.getVisibility()).isEqualTo(View.INVISIBLE);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updateDialog_wifiOnAndHasConnectedWifi_showAllWifiAndSeeAllArea() {
|
public void updateDialog_wifiOnAndHasConnectedWifi_showAllWifiAndSeeAllArea() {
|
||||||
// The preconditions WiFi ON and WiFi entries are already in setUp()
|
// The preconditions WiFi ON and WiFi entries are already in setUp()
|
||||||
@@ -325,13 +339,15 @@ public class InternetDialogTest extends SysuiTestCase {
|
|||||||
assertThat(mConnectedWifi.getVisibility()).isEqualTo(View.VISIBLE);
|
assertThat(mConnectedWifi.getVisibility()).isEqualTo(View.VISIBLE);
|
||||||
// Show a blank block to fix the dialog height even if there is no WiFi list
|
// Show a blank block to fix the dialog height even if there is no WiFi list
|
||||||
assertThat(mWifiList.getVisibility()).isEqualTo(View.VISIBLE);
|
assertThat(mWifiList.getVisibility()).isEqualTo(View.VISIBLE);
|
||||||
assertThat(mSeeAll.getVisibility()).isEqualTo(View.VISIBLE);
|
assertThat(mSeeAll.getVisibility()).isEqualTo(View.INVISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updateDialog_wifiOnAndHasWifiList_showWifiListAndSeeAll() {
|
public void updateDialog_wifiOnAndHasMaxWifiList_showWifiListAndSeeAll() {
|
||||||
// The preconditions WiFi ON and WiFi entries are already in setUp()
|
// The preconditions WiFi ON and WiFi entries are already in setUp()
|
||||||
mInternetDialog.mConnectedWifiEntry = null;
|
mInternetDialog.mConnectedWifiEntry = null;
|
||||||
|
mInternetDialog.mWifiEntriesCount = MAX_WIFI_ENTRY_COUNT;
|
||||||
|
mInternetDialog.mHasMoreEntry = true;
|
||||||
|
|
||||||
mInternetDialog.updateDialog(false);
|
mInternetDialog.updateDialog(false);
|
||||||
|
|
||||||
@@ -343,6 +359,8 @@ public class InternetDialogTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void updateDialog_wifiOnAndHasBothWifiEntry_showBothWifiEntryAndSeeAll() {
|
public void updateDialog_wifiOnAndHasBothWifiEntry_showBothWifiEntryAndSeeAll() {
|
||||||
// The preconditions WiFi ON and WiFi entries are already in setUp()
|
// The preconditions WiFi ON and WiFi entries are already in setUp()
|
||||||
|
mInternetDialog.mWifiEntriesCount = MAX_WIFI_ENTRY_COUNT - 1;
|
||||||
|
mInternetDialog.mHasMoreEntry = true;
|
||||||
|
|
||||||
mInternetDialog.updateDialog(false);
|
mInternetDialog.updateDialog(false);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user