summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Android.bp1
-rw-r--r--api/test-current.txt9
-rw-r--r--core/java/android/net/util/SocketUtils.java4
-rw-r--r--core/java/android/os/INetworkManagementService.aidl21
-rw-r--r--core/java/android/view/KeyEvent.java3
-rw-r--r--core/java/com/android/internal/os/KernelWakelockReader.java91
-rw-r--r--core/proto/android/stats/dnsresolver/dns_resolver.proto1
-rw-r--r--core/tests/coretests/src/com/android/internal/os/KernelWakelockReaderTest.java277
-rw-r--r--media/java/android/media/tv/TvTrackInfo.java40
-rw-r--r--packages/SystemUI/Android.bp4
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java3
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java2
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java8
-rw-r--r--services/core/java/com/android/server/ConnectivityService.java17
-rw-r--r--services/core/java/com/android/server/ExtconStateObserver.java96
-rw-r--r--services/core/java/com/android/server/ExtconUEventObserver.java128
-rw-r--r--services/core/java/com/android/server/NetworkManagementService.java44
-rw-r--r--services/core/java/com/android/server/connectivity/NetworkAgentInfo.java8
-rw-r--r--services/core/java/com/android/server/net/NetworkStatsFactory.java6
-rw-r--r--services/core/java/com/android/server/net/NetworkStatsService.java51
-rw-r--r--services/core/java/com/android/server/policy/PhoneWindowManager.java3
-rw-r--r--startop/apps/test/Android.bp5
-rw-r--r--startop/apps/test/AndroidManifest.xml43
-rw-r--r--startop/apps/test/README.md2
-rw-r--r--startop/apps/test/res/layout/framelayout_list.xml5013
-rw-r--r--startop/apps/test/res/layout/textview_list.xml5014
-rw-r--r--startop/apps/test/src/ComplexLayoutInflationActivity.java34
-rw-r--r--startop/apps/test/src/EmptyActivity.java30
-rw-r--r--startop/apps/test/src/FrameLayoutInflationActivity.java29
-rw-r--r--startop/apps/test/src/LayoutInflation.java39
-rw-r--r--startop/apps/test/src/LayoutInflationActivity.java39
-rw-r--r--startop/apps/test/src/TextViewInflationActivity.java29
-rw-r--r--telephony/java/android/telephony/SmsManager.java85
-rw-r--r--telephony/java/com/android/internal/telephony/ISms.aidl7
-rw-r--r--telephony/java/com/android/internal/telephony/ISmsImplBase.java6
-rw-r--r--tests/net/java/com/android/server/ConnectivityServiceTest.java42
-rw-r--r--tests/net/java/com/android/server/net/NetworkStatsServiceTest.java24
37 files changed, 11048 insertions, 210 deletions
diff --git a/Android.bp b/Android.bp
index 0d2caff8b42f..868886789761 100644
--- a/Android.bp
+++ b/Android.bp
@@ -687,6 +687,7 @@ java_defaults {
static_libs: [
"apex_aidl_interface-java",
+ "suspend_control_aidl_interface-java",
"framework-protos",
"game-driver-protos",
"android.hidl.base-V1.0-java",
diff --git a/api/test-current.txt b/api/test-current.txt
index 075963ef5efd..144e5f5c8f53 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -1532,6 +1532,15 @@ package android.telephony {
method public void setVoiceRoamingType(int);
}
+ public final class SmsManager {
+ method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public int checkSmsShortCodeDestination(String, String);
+ field public static final int SMS_CATEGORY_FREE_SHORT_CODE = 1; // 0x1
+ field public static final int SMS_CATEGORY_NOT_SHORT_CODE = 0; // 0x0
+ field public static final int SMS_CATEGORY_POSSIBLE_PREMIUM_SHORT_CODE = 3; // 0x3
+ field public static final int SMS_CATEGORY_PREMIUM_SHORT_CODE = 4; // 0x4
+ field public static final int SMS_CATEGORY_STANDARD_SHORT_CODE = 2; // 0x2
+ }
+
public class TelephonyManager {
method public int getCarrierIdListVersion();
method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getLine1AlphaTag();
diff --git a/core/java/android/net/util/SocketUtils.java b/core/java/android/net/util/SocketUtils.java
index d9bcb3ce0d8f..489a2922f70e 100644
--- a/core/java/android/net/util/SocketUtils.java
+++ b/core/java/android/net/util/SocketUtils.java
@@ -70,7 +70,7 @@ public final class SocketUtils {
@NonNull
public static SocketAddress makePacketSocketAddress(int protocol, int ifIndex) {
return new PacketSocketAddress(
- (short) protocol /* sll_protocol */,
+ protocol /* sll_protocol */,
ifIndex /* sll_ifindex */,
null /* sll_addr */);
}
@@ -81,7 +81,7 @@ public final class SocketUtils {
@NonNull
public static SocketAddress makePacketSocketAddress(int ifIndex, @NonNull byte[] hwAddr) {
return new PacketSocketAddress(
- (short) 0 /* sll_protocol */,
+ 0 /* sll_protocol */,
ifIndex /* sll_ifindex */,
hwAddr /* sll_addr */);
}
diff --git a/core/java/android/os/INetworkManagementService.aidl b/core/java/android/os/INetworkManagementService.aidl
index 7f60b9cec284..135138030e43 100644
--- a/core/java/android/os/INetworkManagementService.aidl
+++ b/core/java/android/os/INetworkManagementService.aidl
@@ -246,27 +246,6 @@ interface INetworkManagementService
**/
/**
- * Return global network statistics summarized at an interface level,
- * without any UID-level granularity.
- */
- NetworkStats getNetworkStatsSummaryDev();
- NetworkStats getNetworkStatsSummaryXt();
-
- /**
- * Return detailed network statistics with UID-level granularity,
- * including interface and tag details.
- */
- NetworkStats getNetworkStatsDetail();
-
- /**
- * Return detailed network statistics for the requested UID and interfaces,
- * including interface and tag details.
- * @param uid UID to obtain statistics for, or {@link NetworkStats#UID_ALL}.
- * @param ifaces Interfaces to obtain statistics for, or {@link NetworkStats#INTERFACES_ALL}.
- */
- NetworkStats getNetworkStatsUidDetail(int uid, in String[] ifaces);
-
- /**
* Return summary of network statistics all tethering interfaces.
*/
NetworkStats getNetworkStatsTethering(int how);
diff --git a/core/java/android/view/KeyEvent.java b/core/java/android/view/KeyEvent.java
index 78331a1566c5..b33b4a07c134 100644
--- a/core/java/android/view/KeyEvent.java
+++ b/core/java/android/view/KeyEvent.java
@@ -1893,12 +1893,13 @@ public class KeyEvent extends InputEvent implements Parcelable {
public static final boolean isWakeKey(int keyCode) {
switch (keyCode) {
case KeyEvent.KEYCODE_BACK:
+ case KeyEvent.KEYCODE_CAMERA:
case KeyEvent.KEYCODE_MENU:
- case KeyEvent.KEYCODE_WAKEUP:
case KeyEvent.KEYCODE_PAIRING:
case KeyEvent.KEYCODE_STEM_1:
case KeyEvent.KEYCODE_STEM_2:
case KeyEvent.KEYCODE_STEM_3:
+ case KeyEvent.KEYCODE_WAKEUP:
return true;
}
return false;
diff --git a/core/java/com/android/internal/os/KernelWakelockReader.java b/core/java/com/android/internal/os/KernelWakelockReader.java
index 86b2a90dd64e..df8c6d021466 100644
--- a/core/java/com/android/internal/os/KernelWakelockReader.java
+++ b/core/java/com/android/internal/os/KernelWakelockReader.java
@@ -16,8 +16,13 @@
package com.android.internal.os;
import android.os.Process;
+import android.os.RemoteException;
+import android.os.ServiceManager;
+import android.os.ServiceManager.ServiceNotFoundException;
import android.os.StrictMode;
import android.os.SystemClock;
+import android.system.suspend.ISuspendControlService;
+import android.system.suspend.WakeLockInfo;
import android.util.Slog;
import com.android.internal.annotations.VisibleForTesting;
@@ -58,6 +63,7 @@ public class KernelWakelockReader {
private final String[] mProcWakelocksName = new String[3];
private final long[] mProcWakelocksData = new long[3];
+ private ISuspendControlService mSuspendControlService = null;
/**
* Reads kernel wakelock stats and updates the staleStats with the new information.
@@ -117,7 +123,52 @@ public class KernelWakelockReader {
}
}
}
- return parseProcWakelocks(buffer, len, wakeup_sources, staleStats);
+
+ updateVersion(staleStats);
+
+ parseProcWakelocks(buffer, len, wakeup_sources, staleStats);
+
+ if (mSuspendControlService == null) {
+ try {
+ mSuspendControlService = ISuspendControlService.Stub.asInterface(
+ ServiceManager.getServiceOrThrow("suspend_control"));
+ } catch (ServiceNotFoundException e) {
+ Slog.wtf(TAG, "Required service suspend_control not available", e);
+ }
+ }
+
+ try {
+ WakeLockInfo[] wlStats = mSuspendControlService.getWakeLockStats();
+ getNativeWakelockStats(wlStats, staleStats);
+ } catch (RemoteException e) {
+ Slog.wtf(TAG, "Failed to obtain wakelock stats from ISuspendControlService", e);
+ }
+
+ return removeOldStats(staleStats);
+ }
+
+ /**
+ * Reads native wakelock stats from SystemSuspend and updates staleStats with the new
+ * information.
+ * @param staleStats Existing object to update.
+ * @return the updated stats.
+ */
+ @VisibleForTesting
+ public KernelWakelockStats getNativeWakelockStats(WakeLockInfo[] wlStats,
+ final KernelWakelockStats staleStats) {
+ for (WakeLockInfo info : wlStats) {
+ if (!staleStats.containsKey(info.name)) {
+ staleStats.put(info.name, new KernelWakelockStats.Entry((int) info.activeCount,
+ info.totalTime, sKernelWakelockUpdateVersion));
+ } else {
+ KernelWakelockStats.Entry kwlStats = staleStats.get(info.name);
+ kwlStats.mCount = (int) info.activeCount;
+ kwlStats.mTotalTime = info.totalTime;
+ kwlStats.mVersion = sKernelWakelockUpdateVersion;
+ }
+ }
+
+ return staleStats;
}
/**
@@ -138,7 +189,6 @@ public class KernelWakelockReader {
startIndex = endIndex = i + 1;
synchronized(this) {
- sKernelWakelockUpdateVersion++;
while (endIndex < len) {
for (endIndex=startIndex;
endIndex < len && wlBuffer[endIndex] != '\n' && wlBuffer[endIndex] != '\0';
@@ -199,16 +249,35 @@ public class KernelWakelockReader {
startIndex = endIndex + 1;
}
- // Don't report old data.
- Iterator<KernelWakelockStats.Entry> itr = staleStats.values().iterator();
- while (itr.hasNext()) {
- if (itr.next().mVersion != sKernelWakelockUpdateVersion) {
- itr.remove();
- }
- }
-
- staleStats.kernelWakelockVersion = sKernelWakelockUpdateVersion;
return staleStats;
}
}
+
+ /**
+ * Increments sKernelWakelockUpdateVersion and updates the version in staleStats.
+ * @param staleStats Existing object to update.
+ * @return the updated stats.
+ */
+ @VisibleForTesting
+ public KernelWakelockStats updateVersion(KernelWakelockStats staleStats) {
+ sKernelWakelockUpdateVersion++;
+ staleStats.kernelWakelockVersion = sKernelWakelockUpdateVersion;
+ return staleStats;
+ }
+
+ /**
+ * Removes old stats from staleStats.
+ * @param staleStats Existing object to update.
+ * @return the updated stats.
+ */
+ @VisibleForTesting
+ public KernelWakelockStats removeOldStats(final KernelWakelockStats staleStats) {
+ Iterator<KernelWakelockStats.Entry> itr = staleStats.values().iterator();
+ while (itr.hasNext()) {
+ if (itr.next().mVersion != sKernelWakelockUpdateVersion) {
+ itr.remove();
+ }
+ }
+ return staleStats;
+ }
}
diff --git a/core/proto/android/stats/dnsresolver/dns_resolver.proto b/core/proto/android/stats/dnsresolver/dns_resolver.proto
index b7bf3848d921..9eaabfbca463 100644
--- a/core/proto/android/stats/dnsresolver/dns_resolver.proto
+++ b/core/proto/android/stats/dnsresolver/dns_resolver.proto
@@ -67,6 +67,7 @@ enum NsRcode {
// NS_R_BADSIG = 16,
NS_R_BADKEY = 17;
NS_R_BADTIME = 18;
+ NS_R_INTERNAL_ERROR = 254;
NS_R_TIMEOUT = 255;
}
diff --git a/core/tests/coretests/src/com/android/internal/os/KernelWakelockReaderTest.java b/core/tests/coretests/src/com/android/internal/os/KernelWakelockReaderTest.java
index 4e4bb350739d..008085e38dbf 100644
--- a/core/tests/coretests/src/com/android/internal/os/KernelWakelockReaderTest.java
+++ b/core/tests/coretests/src/com/android/internal/os/KernelWakelockReaderTest.java
@@ -13,14 +13,17 @@
* License for the specific language governing permissions and limitations under
* the License.
*/
+
package com.android.internal.os;
-import android.support.test.filters.SmallTest;
+import androidx.test.filters.SmallTest;
import junit.framework.TestCase;
import java.nio.charset.Charset;
+import android.system.suspend.WakeLockInfo;
+
public class KernelWakelockReaderTest extends TestCase {
/**
* Helper class that builds the mock Kernel module file /d/wakeup_sources.
@@ -57,6 +60,39 @@ public class KernelWakelockReaderTest extends TestCase {
}
}
+ /**
+ * Helper method to create WakeLockInfo object.
+ * @param totalTime is time in microseconds.
+ * @return the created WakeLockInfo object.
+ */
+ private WakeLockInfo createWakeLockInfo(String name, int activeCount, long totalTime) {
+ WakeLockInfo info = new WakeLockInfo();
+ info.name = name;
+ info.pid = 1;
+ info.activeCount = activeCount;
+ info.isActive = true;
+ info.activeSince = 0;
+ info.lastChange = 0;
+ info.maxTime = 0;
+ info.totalTime = totalTime;
+ return info;
+ }
+
+ /**
+ * Helper method for KernelWakeLockReader::readKernelWakelockStats(...)
+ * @param staleStats existing stats to update.
+ * @param buffer representation of mock kernel module file /d/wakeup_sources.
+ * @param wlStats mock WakeLockInfo list returned from ISuspendControlService.
+ * @return the updated stats.
+ */
+ private KernelWakelockStats readKernelWakelockStats(KernelWakelockStats staleStats,
+ byte[] buffer, WakeLockInfo[] wlStats) {
+ mReader.updateVersion(staleStats);
+ mReader.parseProcWakelocks(buffer, buffer.length, true, staleStats);
+ mReader.getNativeWakelockStats(wlStats, staleStats);
+ return mReader.removeOldStats(staleStats);
+ }
+
private KernelWakelockReader mReader;
@Override
@@ -65,18 +101,22 @@ public class KernelWakelockReaderTest extends TestCase {
mReader = new KernelWakelockReader();
}
+// ------------------------- Kernel Wakelock Stats Test ------------------------
@SmallTest
public void testParseEmptyFile() throws Exception {
KernelWakelockStats staleStats = mReader.parseProcWakelocks(new byte[0], 0, true,
new KernelWakelockStats());
+
assertTrue(staleStats.isEmpty());
}
@SmallTest
public void testOnlyHeader() throws Exception {
byte[] buffer = new ProcFileBuilder().getBytes();
+
KernelWakelockStats staleStats = mReader.parseProcWakelocks(buffer, buffer.length, true,
new KernelWakelockStats());
+
assertTrue(staleStats.isEmpty());
}
@@ -85,9 +125,12 @@ public class KernelWakelockReaderTest extends TestCase {
byte[] buffer = new ProcFileBuilder()
.addLine("Wakelock", 34, 123) // Milliseconds
.getBytes();
+
KernelWakelockStats staleStats = mReader.parseProcWakelocks(buffer, buffer.length, true,
new KernelWakelockStats());
+
assertEquals(1, staleStats.size());
+
assertTrue(staleStats.containsKey("Wakelock"));
KernelWakelockStats.Entry entry = staleStats.get("Wakelock");
@@ -101,9 +144,12 @@ public class KernelWakelockReaderTest extends TestCase {
.addLine("Wakelock", 1, 10)
.addLine("Fakelock", 2, 20)
.getBytes();
+
KernelWakelockStats staleStats = mReader.parseProcWakelocks(buffer, buffer.length, true,
new KernelWakelockStats());
+
assertEquals(2, staleStats.size());
+
assertTrue(staleStats.containsKey("Wakelock"));
assertTrue(staleStats.containsKey("Fakelock"));
}
@@ -114,8 +160,10 @@ public class KernelWakelockReaderTest extends TestCase {
.addLine("Wakelock", 1, 10) // Milliseconds
.addLine("Wakelock", 1, 10) // Milliseconds
.getBytes();
+
KernelWakelockStats staleStats = mReader.parseProcWakelocks(buffer, buffer.length, true,
new KernelWakelockStats());
+
assertEquals(1, staleStats.size());
assertTrue(staleStats.containsKey("Wakelock"));
@@ -126,12 +174,14 @@ public class KernelWakelockReaderTest extends TestCase {
@SmallTest
public void testWakelocksBecomeStale() throws Exception {
+ KernelWakelockStats staleStats = new KernelWakelockStats();
+
byte[] buffer = new ProcFileBuilder()
.addLine("Fakelock", 3, 30)
.getBytes();
- KernelWakelockStats staleStats = new KernelWakelockStats();
- staleStats = mReader.parseProcWakelocks(buffer, buffer.length, true, staleStats);
+ readKernelWakelockStats(staleStats, buffer, new WakeLockInfo[0]);
+
assertEquals(1, staleStats.size());
assertTrue(staleStats.containsKey("Fakelock"));
@@ -139,9 +189,228 @@ public class KernelWakelockReaderTest extends TestCase {
.addLine("Wakelock", 1, 10)
.getBytes();
- staleStats = mReader.parseProcWakelocks(buffer, buffer.length, true, staleStats);
+ readKernelWakelockStats(staleStats, buffer, new WakeLockInfo[0]);
+
assertEquals(1, staleStats.size());
assertTrue(staleStats.containsKey("Wakelock"));
assertFalse(staleStats.containsKey("Fakelock"));
}
+
+// -------------------- Native (SystemSuspend) Wakelock Stats Test -------------------
+ @SmallTest
+ public void testEmptyWakeLockInfoList() {
+ KernelWakelockStats staleStats = mReader.getNativeWakelockStats(new WakeLockInfo[0],
+ new KernelWakelockStats());
+
+ assertTrue(staleStats.isEmpty());
+ }
+
+ @SmallTest
+ public void testOneWakeLockInfo() {
+ WakeLockInfo[] wlStats = new WakeLockInfo[1];
+ wlStats[0] = createWakeLockInfo("WakeLock", 20, 10000);
+
+ KernelWakelockStats staleStats = mReader.getNativeWakelockStats(wlStats,
+ new KernelWakelockStats());
+
+ assertEquals(1, staleStats.size());
+
+ assertTrue(staleStats.containsKey("WakeLock"));
+
+ KernelWakelockStats.Entry entry = staleStats.get("WakeLock");
+ assertEquals(20, entry.mCount);
+ assertEquals(10000, entry.mTotalTime);
+ }
+
+ @SmallTest
+ public void testTwoWakeLockInfos() {
+ WakeLockInfo[] wlStats = new WakeLockInfo[2];
+ wlStats[0] = createWakeLockInfo("WakeLock1", 10, 1000);
+ wlStats[1] = createWakeLockInfo("WakeLock2", 20, 2000);
+
+ KernelWakelockStats staleStats = mReader.getNativeWakelockStats(wlStats,
+ new KernelWakelockStats());
+
+ assertEquals(2, staleStats.size());
+
+ assertTrue(staleStats.containsKey("WakeLock1"));
+ assertTrue(staleStats.containsKey("WakeLock2"));
+
+ KernelWakelockStats.Entry entry1 = staleStats.get("WakeLock1");
+ assertEquals(10, entry1.mCount);
+ assertEquals(1000, entry1.mTotalTime);
+
+ KernelWakelockStats.Entry entry2 = staleStats.get("WakeLock2");
+ assertEquals(20, entry2.mCount);
+ assertEquals(2000, entry2.mTotalTime);
+ }
+
+ @SmallTest
+ public void testWakeLockInfosBecomeStale() {
+ WakeLockInfo[] wlStats = new WakeLockInfo[1];
+ wlStats[0] = createWakeLockInfo("WakeLock1", 10, 1000);
+
+ KernelWakelockStats staleStats = new KernelWakelockStats();
+
+ readKernelWakelockStats(staleStats, new byte[0], wlStats);
+
+ assertEquals(1, staleStats.size());
+
+ assertTrue(staleStats.containsKey("WakeLock1"));
+ KernelWakelockStats.Entry entry = staleStats.get("WakeLock1");
+ assertEquals(10, entry.mCount);
+ assertEquals(1000, entry.mTotalTime);
+
+ wlStats[0] = createWakeLockInfo("WakeLock2", 20, 2000);
+
+ readKernelWakelockStats(staleStats, new byte[0], wlStats);
+
+ assertEquals(1, staleStats.size());
+
+ assertFalse(staleStats.containsKey("WakeLock1"));
+ assertTrue(staleStats.containsKey("WakeLock2"));
+ entry = staleStats.get("WakeLock2");
+ assertEquals(20, entry.mCount);
+ assertEquals(2000, entry.mTotalTime);
+ }
+
+// -------------------- Aggregate Wakelock Stats Tests --------------------
+ @SmallTest
+ public void testAggregateStatsEmpty() throws Exception {
+ KernelWakelockStats staleStats = new KernelWakelockStats();
+
+ byte[] buffer = new byte[0];
+ WakeLockInfo[] wlStats = new WakeLockInfo[0];
+
+ readKernelWakelockStats(staleStats, buffer, wlStats);
+
+ assertTrue(staleStats.isEmpty());
+ }
+
+ @SmallTest
+ public void testAggregateStatsNoNativeWakelocks() throws Exception {
+ KernelWakelockStats staleStats = new KernelWakelockStats();
+
+ byte[] buffer = new ProcFileBuilder()
+ .addLine("Wakelock", 34, 123) // Milliseconds
+ .getBytes();
+ WakeLockInfo[] wlStats = new WakeLockInfo[0];
+
+ readKernelWakelockStats(staleStats, buffer, wlStats);
+
+ assertEquals(1, staleStats.size());
+
+ assertTrue(staleStats.containsKey("Wakelock"));
+
+ KernelWakelockStats.Entry entry = staleStats.get("Wakelock");
+ assertEquals(34, entry.mCount);
+ assertEquals(1000 * 123, entry.mTotalTime); // Microseconds
+ }
+
+ @SmallTest
+ public void testAggregateStatsNoKernelWakelocks() throws Exception {
+ KernelWakelockStats staleStats = new KernelWakelockStats();
+
+ byte[] buffer = new byte[0];
+ WakeLockInfo[] wlStats = new WakeLockInfo[1];
+ wlStats[0] = createWakeLockInfo("WakeLock", 10, 1000);
+
+ readKernelWakelockStats(staleStats, buffer, wlStats);
+
+ assertEquals(1, staleStats.size());
+
+ assertTrue(staleStats.containsKey("WakeLock"));
+
+ KernelWakelockStats.Entry entry = staleStats.get("WakeLock");
+ assertEquals(10, entry.mCount);
+ assertEquals(1000, entry.mTotalTime);
+ }
+
+ @SmallTest
+ public void testAggregateStatsBothKernelAndNativeWakelocks() throws Exception {
+ KernelWakelockStats staleStats = new KernelWakelockStats();
+
+ byte[] buffer = new ProcFileBuilder()
+ .addLine("WakeLock1", 34, 123) // Milliseconds
+ .getBytes();
+ WakeLockInfo[] wlStats = new WakeLockInfo[1];
+ wlStats[0] = createWakeLockInfo("WakeLock2", 10, 1000);
+
+ readKernelWakelockStats(staleStats, buffer, wlStats);
+
+ assertEquals(2, staleStats.size());
+
+ assertTrue(staleStats.containsKey("WakeLock1"));
+ KernelWakelockStats.Entry entry1 = staleStats.get("WakeLock1");
+ assertEquals(34, entry1.mCount);
+ assertEquals(123 * 1000, entry1.mTotalTime); // Microseconds
+
+ assertTrue(staleStats.containsKey("WakeLock2"));
+ KernelWakelockStats.Entry entry2 = staleStats.get("WakeLock2");
+ assertEquals(10, entry2.mCount);
+ assertEquals(1000, entry2.mTotalTime);
+ }
+
+ @SmallTest
+ public void testAggregateStatsUpdate() throws Exception {
+ KernelWakelockStats staleStats = new KernelWakelockStats();
+
+ byte[] buffer = new ProcFileBuilder()
+ .addLine("WakeLock1", 34, 123) // Milliseconds
+ .addLine("WakeLock2", 46, 345) // Milliseconds
+ .getBytes();
+ WakeLockInfo[] wlStats = new WakeLockInfo[2];
+ wlStats[0] = createWakeLockInfo("WakeLock3", 10, 1000);
+ wlStats[1] = createWakeLockInfo("WakeLock4", 20, 2000);
+
+ readKernelWakelockStats(staleStats, buffer, wlStats);
+
+ assertEquals(4, staleStats.size());
+
+ assertTrue(staleStats.containsKey("WakeLock1"));
+ assertTrue(staleStats.containsKey("WakeLock2"));
+ assertTrue(staleStats.containsKey("WakeLock3"));
+ assertTrue(staleStats.containsKey("WakeLock4"));
+
+ KernelWakelockStats.Entry entry1 = staleStats.get("WakeLock1");
+ assertEquals(34, entry1.mCount);
+ assertEquals(123 * 1000, entry1.mTotalTime); // Microseconds
+
+ KernelWakelockStats.Entry entry2 = staleStats.get("WakeLock2");
+ assertEquals(46, entry2.mCount);
+ assertEquals(345 * 1000, entry2.mTotalTime); // Microseconds
+
+ KernelWakelockStats.Entry entry3 = staleStats.get("WakeLock3");
+ assertEquals(10, entry3.mCount);
+ assertEquals(1000, entry3.mTotalTime);
+
+ KernelWakelockStats.Entry entry4 = staleStats.get("WakeLock4");
+ assertEquals(20, entry4.mCount);
+ assertEquals(2000, entry4.mTotalTime);
+
+ buffer = new ProcFileBuilder()
+ .addLine("WakeLock1", 45, 789) // Milliseconds
+ .addLine("WakeLock1", 56, 123) // Milliseconds
+ .getBytes();
+ wlStats = new WakeLockInfo[1];
+ wlStats[0] = createWakeLockInfo("WakeLock4", 40, 4000);
+
+ readKernelWakelockStats(staleStats, buffer, wlStats);
+
+ assertEquals(2, staleStats.size());
+
+ assertTrue(staleStats.containsKey("WakeLock1"));
+ assertTrue(staleStats.containsKey("WakeLock4"));
+
+ assertFalse(staleStats.containsKey("WakeLock2"));
+ assertFalse(staleStats.containsKey("WakeLock3"));
+
+ entry1 = staleStats.get("WakeLock1");
+ assertEquals(45 + 56, entry1.mCount);
+ assertEquals((789 + 123) * 1000, entry1.mTotalTime); // Microseconds
+
+ entry2 = staleStats.get("WakeLock4");
+ assertEquals(40, entry2.mCount);
+ assertEquals(4000, entry4.mTotalTime);
+ }
}
diff --git a/media/java/android/media/tv/TvTrackInfo.java b/media/java/android/media/tv/TvTrackInfo.java
index 2bc9a2b4be45..10cbad9ed6af 100644
--- a/media/java/android/media/tv/TvTrackInfo.java
+++ b/media/java/android/media/tv/TvTrackInfo.java
@@ -277,28 +277,36 @@ public final class TvTrackInfo implements Parcelable {
@Override
public boolean equals(Object o) {
if (this == o) {
- return true;
+ return true;
}
if (!(o instanceof TvTrackInfo)) {
- return false;
+ return false;
}
TvTrackInfo obj = (TvTrackInfo) o;
- return TextUtils.equals(mId, obj.mId)
- && mType == obj.mType
- && TextUtils.equals(mLanguage, obj.mLanguage)
- && TextUtils.equals(mDescription, obj.mDescription)
- && mEncrypted == obj.mEncrypted
- && Objects.equals(mExtra, obj.mExtra)
- && (mType == TYPE_AUDIO
- ? mAudioChannelCount == obj.mAudioChannelCount
- && mAudioSampleRate == obj.mAudioSampleRate
- : (mType == TYPE_VIDEO
- ? mVideoWidth == obj.mVideoWidth
- && mVideoHeight == obj.mVideoHeight
- && mVideoFrameRate == obj.mVideoFrameRate
- && mVideoPixelAspectRatio == obj.mVideoPixelAspectRatio : true));
+
+ if (!TextUtils.equals(mId, obj.mId) || mType != obj.mType
+ || !TextUtils.equals(mLanguage, obj.mLanguage)
+ || !TextUtils.equals(mDescription, obj.mDescription)
+ || !Objects.equals(mExtra, obj.mExtra)) {
+ return false;
+ }
+
+ switch (mType) {
+ case TYPE_AUDIO:
+ return mAudioChannelCount == obj.mAudioChannelCount
+ && mAudioSampleRate == obj.mAudioSampleRate;
+
+ case TYPE_VIDEO:
+ return mVideoWidth == obj.mVideoWidth
+ && mVideoHeight == obj.mVideoHeight
+ && mVideoFrameRate == obj.mVideoFrameRate
+ && mVideoPixelAspectRatio == obj.mVideoPixelAspectRatio
+ && mVideoActiveFormatDescription == obj.mVideoActiveFormatDescription;
+ }
+
+ return true;
}
@Override
diff --git a/packages/SystemUI/Android.bp b/packages/SystemUI/Android.bp
index 7d0291f643cf..1a5d6e3f87db 100644
--- a/packages/SystemUI/Android.bp
+++ b/packages/SystemUI/Android.bp
@@ -68,8 +68,8 @@ android_library {
],
aaptflags: [
- "--extra-packages",
- "com.android.keyguard",
+ "--extra-packages com.android.keyguard",
+ "--legacy",
],
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
index b7c20aa197ca..b67a9f03822c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
@@ -548,7 +548,7 @@ public class MobileSignalController extends SignalController<
}
private boolean isDataDisabled() {
- return !mPhone.getDataEnabled(mSubscriptionInfo.getSubscriptionId());
+ return !mPhone.isDataCapable();
}
@VisibleForTesting
@@ -568,6 +568,7 @@ public class MobileSignalController extends SignalController<
pw.println(" mSignalStrength=" + mSignalStrength + ",");
pw.println(" mDataState=" + mDataState + ",");
pw.println(" mDataNetType=" + mDataNetType + ",");
+ pw.println(" isDataDisabled=" + isDataDisabled() + ",");
}
class MobilePhoneStateListener extends PhoneStateListener {
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java
index c1f88855ac24..02f99a00c1a0 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java
@@ -155,7 +155,7 @@ public class NetworkControllerBaseTest extends SysuiTestCase {
protected void setupNetworkController() {
// For now just pretend to be the data sim, so we can test that too.
mSubId = SubscriptionManager.DEFAULT_SUBSCRIPTION_ID;
- when(mMockTm.getDataEnabled(mSubId)).thenReturn(true);
+ when(mMockTm.isDataCapable()).thenReturn(true);
setDefaultSubId(mSubId);
setSubscriptions(mSubId);
mMobileSignalController = mNetworkController.mMobileSignalControllers.get(mSubId);
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java
index 96fad21ed7a3..2aa933e723c2 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java
@@ -119,7 +119,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest {
@Test
public void testNoInternetIcon() {
setupNetworkController();
- when(mMockTm.getDataEnabled(mSubId)).thenReturn(false);
+ when(mMockTm.isDataCapable()).thenReturn(false);
setupDefaultSignal();
updateDataConnectionState(TelephonyManager.DATA_CONNECTED, 0);
setConnectivityViaBroadcast(NetworkCapabilities.TRANSPORT_CELLULAR, false, false);
@@ -133,7 +133,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest {
@Test
public void testDataDisabledIcon() {
setupNetworkController();
- when(mMockTm.getDataEnabled(mSubId)).thenReturn(false);
+ when(mMockTm.isDataCapable()).thenReturn(false);
setupDefaultSignal();
updateDataConnectionState(TelephonyManager.DATA_DISCONNECTED, 0);
setConnectivityViaBroadcast(NetworkCapabilities.TRANSPORT_CELLULAR, false, false);
@@ -188,7 +188,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest {
@Test
public void testDataDisabledIcon_UserNotSetup() {
setupNetworkController();
- when(mMockTm.getDataEnabled(mSubId)).thenReturn(false);
+ when(mMockTm.isDataCapable()).thenReturn(false);
setupDefaultSignal();
updateDataConnectionState(TelephonyManager.DATA_DISCONNECTED, 0);
setConnectivityViaBroadcast(NetworkCapabilities.TRANSPORT_CELLULAR, false, false);
@@ -203,7 +203,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest {
@Test
public void testAlwaysShowDataRatIcon() {
setupDefaultSignal();
- when(mMockTm.getDataEnabled(mSubId)).thenReturn(false);
+ when(mMockTm.isDataCapable()).thenReturn(false);
updateDataConnectionState(TelephonyManager.DATA_DISCONNECTED,
TelephonyManager.NETWORK_TYPE_GSM);
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java
index ae80d7ef11e5..a71d46cbe886 100644
--- a/services/core/java/com/android/server/ConnectivityService.java
+++ b/services/core/java/com/android/server/ConnectivityService.java
@@ -2614,9 +2614,11 @@ public class ConnectivityService extends IConnectivityManager.Stub
final boolean valid = ((msg.arg1 & NETWORK_VALIDATION_RESULT_VALID) != 0);
final boolean wasValidated = nai.lastValidated;
final boolean wasDefault = isDefaultNetwork(nai);
- if (nai.everCaptivePortalDetected && !nai.captivePortalLoginNotified
- && valid) {
- nai.captivePortalLoginNotified = true;
+ // Only show a connected notification if the network is pending validation
+ // after the captive portal app was open, and it has now validated.
+ if (nai.captivePortalValidationPending && valid) {
+ // User is now logged in, network validated.
+ nai.captivePortalValidationPending = false;
showNetworkNotification(nai, NotificationType.LOGGED_IN);
}
@@ -2687,9 +2689,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
final int oldScore = nai.getCurrentScore();
nai.lastCaptivePortalDetected = visible;
nai.everCaptivePortalDetected |= visible;
- if (visible) {
- nai.captivePortalLoginNotified = false;
- }
if (nai.lastCaptivePortalDetected &&
Settings.Global.CAPTIVE_PORTAL_MODE_AVOID == getCaptivePortalMode()) {
if (DBG) log("Avoiding captive portal network: " + nai.name());
@@ -3498,6 +3497,12 @@ public class ConnectivityService extends IConnectivityManager.Stub
new CaptivePortal(new CaptivePortalImpl(network).asBinder()));
appIntent.setFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK);
+ // This runs on a random binder thread, but getNetworkAgentInfoForNetwork is thread-safe,
+ // and captivePortalValidationPending is volatile.
+ final NetworkAgentInfo nai = getNetworkAgentInfoForNetwork(network);
+ if (nai != null) {
+ nai.captivePortalValidationPending = true;
+ }
Binder.withCleanCallingIdentity(() ->
mContext.startActivityAsUser(appIntent, UserHandle.CURRENT));
}
diff --git a/services/core/java/com/android/server/ExtconStateObserver.java b/services/core/java/com/android/server/ExtconStateObserver.java
new file mode 100644
index 000000000000..6b561c7af63e
--- /dev/null
+++ b/services/core/java/com/android/server/ExtconStateObserver.java
@@ -0,0 +1,96 @@
+/*
+ * Copyright (C) 2018 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.server;
+
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.os.FileUtils;
+import android.util.Slog;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+
+/**
+ * A specialized ExtconUEventObserver that on receiving a {@link UEvent} calls {@link
+ * #updateState(ExtconInfo, String, S)} with the value of{@link #parseState(ExtconInfo, String)}.
+ *
+ * @param <S> the type of state to parse and update
+ * @hide
+ */
+public abstract class ExtconStateObserver<S> extends ExtconUEventObserver {
+ private static final String TAG = "ExtconStateObserver";
+ private static final boolean LOG = false;
+
+ /**
+ * Parses the current state from the state file for {@code extconInfo} and calls {@link
+ * #updateState(ExtconInfo, String, Object)}
+ *
+ * @param extconInfo the extconInfo to update state for
+ * @see #parseState(ExtconInfo, String)
+ * @see ExtconInfo#getStatePath()
+ */
+ public void updateStateFromFile(ExtconInfo extconInfo) {
+ String statePath = extconInfo.getStatePath();
+ try {
+ S state =
+ parseState(
+ extconInfo,
+ FileUtils.readTextFile(new File(statePath), 0, null).trim());
+ if (state != null) {
+ updateState(extconInfo, extconInfo.getName(), state);
+ }
+ } catch (FileNotFoundException e) {
+ Slog.w(TAG, statePath + " not found while attempting to determine initial state", e);
+ } catch (IOException e) {
+ Slog.e(
+ TAG,
+ "Error reading " + statePath + " while attempting to determine initial state ",
+ e);
+ }
+ }
+
+ @Override
+ public void onUEvent(ExtconInfo extconInfo, UEvent event) {
+ if (LOG) Slog.d(TAG, extconInfo.getName() + " UEVENT: " + event);
+ String name = event.get("NAME");
+ S state = parseState(extconInfo, event.get("STATE"));
+ if (state != null) {
+ updateState(extconInfo, name, state);
+ }
+ }
+
+ /**
+ * Subclasses of ExtconStateObserver should override this method update state for {@code
+ * exconInfo} from an {@code UEvent}.
+ *
+ * @param extconInfo the external connection
+ * @param eventName the {@code NAME} of the {@code UEvent}
+ * @param state the{@code STATE} as parsed by {@link #parseState(ExtconInfo, String)}.
+ */
+ public abstract void updateState(ExtconInfo extconInfo, String eventName, @NonNull S state);
+
+ /**
+ * Subclasses of ExtconStateObserver should override this method to parse the {@code STATE} from
+ * an UEvent.
+ *
+ * @param extconInfo that matches the {@code DEVPATH} of {@code event}
+ * @param state the {@code STATE} from a {@code UEvent}.
+ * @return the parsed state. Return null if the state can not be parsed.
+ */
+ @Nullable
+ public abstract S parseState(ExtconInfo extconInfo, String state);
+}
diff --git a/services/core/java/com/android/server/ExtconUEventObserver.java b/services/core/java/com/android/server/ExtconUEventObserver.java
new file mode 100644
index 000000000000..b3084f50071f
--- /dev/null
+++ b/services/core/java/com/android/server/ExtconUEventObserver.java
@@ -0,0 +1,128 @@
+/*
+ * Copyright (C) 2018 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.server;
+
+import android.annotation.Nullable;
+import android.os.UEventObserver;
+import android.util.ArrayMap;
+import android.util.Slog;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Locale;
+import java.util.Map;
+
+/**
+ * A specialized UEventObserver that receives UEvents from the kernel for devices in the {@code
+ * /sys/class/extcon}. directory
+ *
+ * <p>Subclass ExtconUEventObserver, implementing {@link #onUEvent(ExtconInfo, UEvent)}, then call
+ * startObserving() with a ExtconInfo to observe. The UEvent thread will then call your onUEvent()
+ * method when a UEvent occurs that matches the path of your ExtconInfos.
+ *
+ * <p>Call stopObserving() to stop receiving UEvents.
+ *
+ * <p>There is only one UEvent thread per process, even if that process has multiple UEventObserver
+ * subclass instances. The UEvent thread starts when the startObserving() is called for the first
+ * time in that process. Once started the UEvent thread will not stop (although it can stop
+ * notifying UEventObserver's via stopObserving()).
+ *
+ * <p>
+ *
+ * @hide
+ */
+public abstract class ExtconUEventObserver extends UEventObserver {
+ private static final String TAG = "ExtconUEventObserver";
+ private static final boolean LOG = false;
+ private final Map<String, ExtconInfo> mExtconInfos = new ArrayMap<>();
+
+ @Override
+ public final void onUEvent(UEvent event) {
+ String devPath = event.get("DEVPATH");
+ ExtconInfo info = mExtconInfos.get(devPath);
+ if (info != null) {
+ onUEvent(info, event);
+ } else {
+ Slog.w(TAG, "No match found for DEVPATH of " + event + " in " + mExtconInfos);
+ }
+ }
+
+ /**
+ * Subclasses of ExtconUEventObserver should override this method to handle UEvents.
+ *
+ * @param extconInfo that matches the {@code DEVPATH} of {@code event}
+ * @param event the event
+ */
+ protected abstract void onUEvent(ExtconInfo extconInfo, UEvent event);
+
+ /** Starts observing {@link ExtconInfo#getDevicePath()}. */
+ public void startObserving(ExtconInfo extconInfo) {
+ mExtconInfos.put(extconInfo.getDevicePath(), extconInfo);
+ if (LOG) Slog.v(TAG, "Observing " + extconInfo.getDevicePath());
+ startObserving("DEVPATH=" + extconInfo.getDevicePath());
+ }
+
+ /** An External Connection to watch. */
+ public static final class ExtconInfo {
+ private static final String TAG = "ExtconInfo";
+
+ private final String mName;
+
+ public ExtconInfo(String name) {
+ mName = name;
+ }
+
+ /** The name of the external connection */
+ public String getName() {
+ return mName;
+ }
+
+ /**
+ * The path to the device for this external connection.
+ *
+ * <p><b>NOTE</b> getting this path involves resolving a symlink.
+ *
+ * @return the device path, or null if it not found.
+ */
+ @Nullable
+ public String getDevicePath() {
+ try {
+ String extconPath = String.format(Locale.US, "/sys/class/extcon/%s", mName);
+ File devPath = new File(extconPath);
+ if (devPath.exists()) {
+ String canonicalPath = devPath.getCanonicalPath();
+ int start = canonicalPath.indexOf("/devices");
+ return canonicalPath.substring(start);
+ }
+ return null;
+ } catch (IOException e) {
+ Slog.e(TAG, "Could not get the extcon device path for " + mName, e);
+ return null;
+ }
+ }
+
+ /** The path to the state file */
+ public String getStatePath() {
+ return String.format(Locale.US, "/sys/class/extcon/%s/state", mName);
+ }
+ }
+
+ /** Does the {@link /sys/class/extcon} directory exist */
+ public static boolean extconExists() {
+ File extconDir = new File("/sys/class/extcon");
+ return extconDir.exists() && extconDir.isDirectory();
+ }
+}
diff --git a/services/core/java/com/android/server/NetworkManagementService.java b/services/core/java/com/android/server/NetworkManagementService.java
index 6d08b5ab9b87..e29bf8d294de 100644
--- a/services/core/java/com/android/server/NetworkManagementService.java
+++ b/services/core/java/com/android/server/NetworkManagementService.java
@@ -34,7 +34,6 @@ import static android.net.NetworkPolicyManager.FIREWALL_CHAIN_NAME_STANDBY;
import static android.net.NetworkPolicyManager.FIREWALL_RULE_DEFAULT;
import static android.net.NetworkStats.SET_DEFAULT;
import static android.net.NetworkStats.STATS_PER_UID;
-import static android.net.NetworkStats.TAG_ALL;
import static android.net.NetworkStats.TAG_NONE;
import static android.net.TrafficStats.UID_TETHERING;
@@ -90,7 +89,6 @@ import com.android.internal.app.IBatteryStats;
import com.android.internal.util.DumpUtils;
import com.android.internal.util.HexDump;
import com.android.internal.util.Preconditions;
-import com.android.server.net.NetworkStatsFactory;
import com.google.android.collect.Maps;
@@ -164,8 +162,6 @@ public class NetworkManagementService extends INetworkManagementService.Stub {
private final RemoteCallbackList<INetworkManagementEventObserver> mObservers =
new RemoteCallbackList<>();
- private final NetworkStatsFactory mStatsFactory = new NetworkStatsFactory();
-
@GuardedBy("mTetheringStatsProviders")
private final HashMap<ITetheringStatsProvider, String>
mTetheringStatsProviders = Maps.newHashMap();
@@ -1207,36 +1203,6 @@ public class NetworkManagementService extends INetworkManagementService.Stub {
}
@Override
- public NetworkStats getNetworkStatsSummaryDev() {
- mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
- try {
- return mStatsFactory.readNetworkStatsSummaryDev();
- } catch (IOException e) {
- throw new IllegalStateException(e);
- }
- }
-
- @Override
- public NetworkStats getNetworkStatsSummaryXt() {
- mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
- try {
- return mStatsFactory.readNetworkStatsSummaryXt();
- } catch (IOException e) {
- throw new IllegalStateException(e);
- }
- }
-
- @Override
- public NetworkStats getNetworkStatsDetail() {
- mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
- try {
- return mStatsFactory.readNetworkStatsDetail();
- } catch (IOException e) {
- throw new IllegalStateException(e);
- }
- }
-
- @Override
public void setInterfaceQuota(String iface, long quotaBytes) {
mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
@@ -1535,16 +1501,6 @@ public class NetworkManagementService extends INetworkManagementService.Stub {
return true;
}
- @Override
- public NetworkStats getNetworkStatsUidDetail(int uid, String[] ifaces) {
- mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
- try {
- return mStatsFactory.readNetworkStatsDetail(uid, ifaces, TAG_ALL);
- } catch (IOException e) {
- throw new IllegalStateException(e);
- }
- }
-
private class NetdTetheringStatsProvider extends ITetheringStatsProvider.Stub {
@Override
public NetworkStats getTetherStats(int how) {
diff --git a/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java b/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java
index 864a793b8f40..5b043799f848 100644
--- a/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java
+++ b/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java
@@ -155,9 +155,9 @@ public class NetworkAgentInfo implements Comparable<NetworkAgentInfo> {
// Whether a captive portal was found during the last network validation attempt.
public boolean lastCaptivePortalDetected;
- // Indicates the user was notified of a successful captive portal login since a portal was
- // last detected.
- public boolean captivePortalLoginNotified;
+ // Indicates the captive portal app was opened to show a login UI to the user, but the network
+ // has not validated yet.
+ public volatile boolean captivePortalValidationPending;
// Set to true when partial connectivity was detected.
public boolean partialConnectivity;
@@ -629,7 +629,7 @@ public class NetworkAgentInfo implements Comparable<NetworkAgentInfo> {
+ "acceptUnvalidated{" + networkMisc.acceptUnvalidated + "} "
+ "everCaptivePortalDetected{" + everCaptivePortalDetected + "} "
+ "lastCaptivePortalDetected{" + lastCaptivePortalDetected + "} "
- + "captivePortalLoginNotified{" + captivePortalLoginNotified + "} "
+ + "captivePortalValidationPending{" + captivePortalValidationPending + "} "
+ "partialConnectivity{" + partialConnectivity + "} "
+ "acceptPartialConnectivity{" + networkMisc.acceptPartialConnectivity + "} "
+ "clat{" + clatd + "} "
diff --git a/services/core/java/com/android/server/net/NetworkStatsFactory.java b/services/core/java/com/android/server/net/NetworkStatsFactory.java
index 7687718b0693..9344ef71c9f7 100644
--- a/services/core/java/com/android/server/net/NetworkStatsFactory.java
+++ b/services/core/java/com/android/server/net/NetworkStatsFactory.java
@@ -179,8 +179,10 @@ public class NetworkStatsFactory {
mStatsXtIfaceFmt = new File(procRoot, "net/xt_qtaguid/iface_stat_fmt");
mStatsXtUid = new File(procRoot, "net/xt_qtaguid/stats");
mUseBpfStats = useBpfStats;
- mPersistSnapshot = new NetworkStats(SystemClock.elapsedRealtime(), -1);
- mTunAnd464xlatAdjustedStats = new NetworkStats(SystemClock.elapsedRealtime(), -1);
+ synchronized (sPersistentDataLock) {
+ mPersistSnapshot = new NetworkStats(SystemClock.elapsedRealtime(), -1);
+ mTunAnd464xlatAdjustedStats = new NetworkStats(SystemClock.elapsedRealtime(), -1);
+ }
}
public NetworkStats readBpfNetworkStatsDev() throws IOException {
diff --git a/services/core/java/com/android/server/net/NetworkStatsService.java b/services/core/java/com/android/server/net/NetworkStatsService.java
index 5505828063ed..e67b39137a4e 100644
--- a/services/core/java/com/android/server/net/NetworkStatsService.java
+++ b/services/core/java/com/android/server/net/NetworkStatsService.java
@@ -180,6 +180,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
private final Context mContext;
private final INetworkManagementService mNetworkManager;
+ private final NetworkStatsFactory mStatsFactory;
private final AlarmManager mAlarmManager;
private final Clock mClock;
private final TelephonyManager mTeleManager;
@@ -329,8 +330,8 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
NetworkStatsService service = new NetworkStatsService(context, networkManager, alarmManager,
wakeLock, getDefaultClock(), TelephonyManager.getDefault(),
- new DefaultNetworkStatsSettings(context), new NetworkStatsObservers(),
- getDefaultSystemDir(), getDefaultBaseDir());
+ new DefaultNetworkStatsSettings(context), new NetworkStatsFactory(),
+ new NetworkStatsObservers(), getDefaultSystemDir(), getDefaultBaseDir());
service.registerLocalService();
HandlerThread handlerThread = new HandlerThread(TAG);
@@ -347,7 +348,8 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
NetworkStatsService(Context context, INetworkManagementService networkManager,
AlarmManager alarmManager, PowerManager.WakeLock wakeLock, Clock clock,
TelephonyManager teleManager, NetworkStatsSettings settings,
- NetworkStatsObservers statsObservers, File systemDir, File baseDir) {
+ NetworkStatsFactory factory, NetworkStatsObservers statsObservers, File systemDir,
+ File baseDir) {
mContext = checkNotNull(context, "missing Context");
mNetworkManager = checkNotNull(networkManager, "missing INetworkManagementService");
mAlarmManager = checkNotNull(alarmManager, "missing AlarmManager");
@@ -355,6 +357,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
mSettings = checkNotNull(settings, "missing NetworkStatsSettings");
mTeleManager = checkNotNull(teleManager, "missing TelephonyManager");
mWakeLock = checkNotNull(wakeLock, "missing WakeLock");
+ mStatsFactory = checkNotNull(factory, "missing factory");
mStatsObservers = checkNotNull(statsObservers, "missing NetworkStatsObservers");
mSystemDir = checkNotNull(systemDir, "missing systemDir");
mBaseDir = checkNotNull(baseDir, "missing baseDir");
@@ -752,14 +755,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
// TODO: switch to data layer stats once kernel exports
// for now, read network layer stats and flatten across all ifaces
- final long token = Binder.clearCallingIdentity();
- final NetworkStats networkLayer;
- try {
- networkLayer = mNetworkManager.getNetworkStatsUidDetail(uid,
- NetworkStats.INTERFACES_ALL);
- } finally {
- Binder.restoreCallingIdentity(token);
- }
+ final NetworkStats networkLayer = readNetworkStatsUidDetail(uid, INTERFACES_ALL, TAG_ALL);
// splice in operation counts
networkLayer.spliceOperationsFrom(mUidOperations);
@@ -1190,7 +1186,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
mobileIfaces.add(stackedIface);
}
- NetworkStatsFactory.noteStackedIface(stackedIface, baseIface);
+ mStatsFactory.noteStackedIface(stackedIface, baseIface);
}
}
}
@@ -1220,7 +1216,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
final NetworkStats xtSnapshot = getNetworkStatsXt();
Trace.traceEnd(TRACE_TAG_NETWORK);
Trace.traceBegin(TRACE_TAG_NETWORK, "snapshotDev");
- final NetworkStats devSnapshot = mNetworkManager.getNetworkStatsSummaryDev();
+ final NetworkStats devSnapshot = readNetworkStatsSummaryDev();
Trace.traceEnd(TRACE_TAG_NETWORK);
// Tethering snapshot for dev and xt stats. Counts per-interface data from tethering stats
@@ -1614,6 +1610,30 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
}
}
+ private NetworkStats readNetworkStatsSummaryDev() {
+ try {
+ return mStatsFactory.readNetworkStatsSummaryDev();
+ } catch (IOException e) {
+ throw new IllegalStateException(e);
+ }
+ }
+
+ private NetworkStats readNetworkStatsSummaryXt() {
+ try {
+ return mStatsFactory.readNetworkStatsSummaryXt();
+ } catch (IOException e) {
+ throw new IllegalStateException(e);
+ }
+ }
+
+ private NetworkStats readNetworkStatsUidDetail(int uid, String[] ifaces, int tag) {
+ try {
+ return mStatsFactory.readNetworkStatsDetail(uid, ifaces, tag);
+ } catch (IOException e) {
+ throw new IllegalStateException(e);
+ }
+ }
+
/**
* Return snapshot of current UID statistics, including any
* {@link TrafficStats#UID_TETHERING}, video calling data usage, and {@link #mUidOperations}
@@ -1624,8 +1644,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
*/
private NetworkStats getNetworkStatsUidDetail(String[] ifaces)
throws RemoteException {
- final NetworkStats uidSnapshot = mNetworkManager.getNetworkStatsUidDetail(UID_ALL,
- ifaces);
+ final NetworkStats uidSnapshot = readNetworkStatsUidDetail(UID_ALL, ifaces, TAG_ALL);
// fold tethering stats and operations into uid snapshot
final NetworkStats tetherSnapshot = getNetworkStatsTethering(STATS_PER_UID);
@@ -1655,7 +1674,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
* Return snapshot of current XT statistics with video calling data usage statistics.
*/
private NetworkStats getNetworkStatsXt() throws RemoteException {
- final NetworkStats xtSnapshot = mNetworkManager.getNetworkStatsSummaryXt();
+ final NetworkStats xtSnapshot = readNetworkStatsSummaryXt();
final TelephonyManager telephonyManager = (TelephonyManager) mContext.getSystemService(
Context.TELEPHONY_SERVICE);
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java
index 0149d30da6bd..caf0b92a55e0 100644
--- a/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -6482,7 +6482,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
case KeyEvent.KEYCODE_VOLUME_MUTE:
return mDockMode != Intent.EXTRA_DOCK_STATE_UNDOCKED;
- // ignore media and camera keys
+ // ignore media keys
case KeyEvent.KEYCODE_MUTE:
case KeyEvent.KEYCODE_HEADSETHOOK:
case KeyEvent.KEYCODE_MEDIA_PLAY:
@@ -6495,7 +6495,6 @@ public class PhoneWindowManager implements WindowManagerPolicy {
case KeyEvent.KEYCODE_MEDIA_RECORD:
case KeyEvent.KEYCODE_MEDIA_FAST_FORWARD:
case KeyEvent.KEYCODE_MEDIA_AUDIO_TRACK:
- case KeyEvent.KEYCODE_CAMERA:
return false;
}
return true;
diff --git a/startop/apps/test/Android.bp b/startop/apps/test/Android.bp
index 3adc05e2cab9..7a1678ac9a5a 100644
--- a/startop/apps/test/Android.bp
+++ b/startop/apps/test/Android.bp
@@ -18,6 +18,9 @@ android_app {
name: "startop_test_app",
srcs: [
"src/EmptyActivity.java",
- "src/LayoutInflation.java",
+ "src/LayoutInflationActivity.java",
+ "src/ComplexLayoutInflationActivity.java",
+ "src/FrameLayoutInflationActivity.java",
+ "src/TextViewInflationActivity.java",
],
}
diff --git a/startop/apps/test/AndroidManifest.xml b/startop/apps/test/AndroidManifest.xml
index 6b08118b73b7..467d8f72e468 100644
--- a/startop/apps/test/AndroidManifest.xml
+++ b/startop/apps/test/AndroidManifest.xml
@@ -23,7 +23,12 @@
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true">
- <activity android:name=".EmptyActivity">
+
+ <activity
+ android:label="Complex Layout Test"
+ android:name=".ComplexLayoutInflationActivity"
+ android:exported="true" >
+
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -31,7 +36,41 @@
</intent-filter>
</activity>
- <activity android:name=".LayoutInflation" android:exported="true" />
+ <activity
+ android:label="Empty Activity Layout Test"
+ android:name=".EmptyActivity"
+ android:exported="true" >
+
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+
+ <activity
+ android:label="FrameLayout Layout Test"
+ android:name=".FrameLayoutInflationActivity"
+ android:exported="true" >
+
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+
+ <activity
+ android:label="TextView Layout Test"
+ android:name=".TextViewInflationActivity"
+ android:exported="true" >
+
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
</application>
</manifest>
diff --git a/startop/apps/test/README.md b/startop/apps/test/README.md
index 53c184bdd1c8..dadc66af3306 100644
--- a/startop/apps/test/README.md
+++ b/startop/apps/test/README.md
@@ -23,4 +23,4 @@ The activity adds an `inflate#activity_main` slice to atrace around the time
spent in view inflation to make it easier to focus on the time spent in view
inflation.
- adb shell am start -n com.android.startop.test/.LayoutInflation
+ adb shell am start -n com.android.startop.test/.ComplexLayoutInflationActivity
diff --git a/startop/apps/test/res/layout/framelayout_list.xml b/startop/apps/test/res/layout/framelayout_list.xml
new file mode 100644
index 000000000000..2dd821913cb8
--- /dev/null
+++ b/startop/apps/test/res/layout/framelayout_list.xml
@@ -0,0 +1,5013 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" >
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ffaaaaaa" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="20dp"
+ android:background="#ff000000" />
+ </LinearLayout>
+</ScrollView>
diff --git a/startop/apps/test/res/layout/textview_list.xml b/startop/apps/test/res/layout/textview_list.xml
new file mode 100644
index 000000000000..1cff5b2e769a
--- /dev/null
+++ b/startop/apps/test/res/layout/textview_list.xml
@@ -0,0 +1,5014 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" >
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="TextView" />
+
+ </LinearLayout>
+</ScrollView>
diff --git a/startop/apps/test/src/ComplexLayoutInflationActivity.java b/startop/apps/test/src/ComplexLayoutInflationActivity.java
new file mode 100644
index 000000000000..a357073261f5
--- /dev/null
+++ b/startop/apps/test/src/ComplexLayoutInflationActivity.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.startop.test;
+
+import android.os.Bundle;
+
+/**
+ * This activity inflates a reasonably complex layout to see the impact of
+ * layout inflation. The layout is supported by the viewcompiler, so this can be
+ * used for testing precompiled layout performance.
+ */
+public class ComplexLayoutInflationActivity extends LayoutInflationActivity {
+ protected void onCreate(Bundle savedInstanceState) {
+ Bundle newState = savedInstanceState == null
+ ? new Bundle() : new Bundle(savedInstanceState);
+ newState.putInt(LAYOUT_ID, R.layout.activity_main);
+
+ super.onCreate(newState);
+ }
+}
diff --git a/startop/apps/test/src/EmptyActivity.java b/startop/apps/test/src/EmptyActivity.java
index 5202938686c0..bcb2e707016b 100644
--- a/startop/apps/test/src/EmptyActivity.java
+++ b/startop/apps/test/src/EmptyActivity.java
@@ -1,18 +1,18 @@
-//
-// Copyright (C) 2019 The Android Open Source Project
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package com.android.startop.test;
diff --git a/startop/apps/test/src/FrameLayoutInflationActivity.java b/startop/apps/test/src/FrameLayoutInflationActivity.java
new file mode 100644
index 000000000000..b995e799e22b
--- /dev/null
+++ b/startop/apps/test/src/FrameLayoutInflationActivity.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.startop.test;
+
+import android.os.Bundle;
+
+public class FrameLayoutInflationActivity extends LayoutInflationActivity {
+ protected void onCreate(Bundle savedInstanceState) {
+ Bundle newState = savedInstanceState == null
+ ? new Bundle() : new Bundle(savedInstanceState);
+ newState.putInt(LAYOUT_ID, R.layout.framelayout_list);
+
+ super.onCreate(newState);
+ }
+}
diff --git a/startop/apps/test/src/LayoutInflation.java b/startop/apps/test/src/LayoutInflation.java
deleted file mode 100644
index daa4e4556f8e..000000000000
--- a/startop/apps/test/src/LayoutInflation.java
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-// Copyright (C) 2019 The Android Open Source Project
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-package com.android.startop.test;
-
-import android.app.Activity;
-import android.os.Bundle;
-import android.os.Trace;
-import android.view.LayoutInflater;
-import android.view.View;
-
-/**
- * This activity inflates a reasonably complex layout to see the impact of
- * layout inflation. The layout is supported by the viewcompiler, so this can be
- * used for testing precompiled layout performance.
- */
-public class LayoutInflation extends Activity {
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- LayoutInflater inflater = LayoutInflater.from(this);
- Trace.beginSection("inflate layout:activity_main");
- View view = inflater.inflate(R.layout.activity_main, /*root=*/null);
- Trace.endSection();
- setContentView(view);
- }
-}
diff --git a/startop/apps/test/src/LayoutInflationActivity.java b/startop/apps/test/src/LayoutInflationActivity.java
new file mode 100644
index 000000000000..06a05701f831
--- /dev/null
+++ b/startop/apps/test/src/LayoutInflationActivity.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.startop.test;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.os.Trace;
+import android.view.LayoutInflater;
+import android.view.View;
+
+public class LayoutInflationActivity extends Activity {
+ public static String LAYOUT_ID = "layout-id";
+
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ int layoutId = savedInstanceState.getInt(LAYOUT_ID);
+ String layoutName = getResources().getResourceEntryName(layoutId);
+
+ LayoutInflater inflater = LayoutInflater.from(this);
+ Trace.beginSection("inflate layout: " + layoutName);
+ View view = inflater.inflate(layoutId, /*root=*/null);
+ Trace.endSection();
+ setContentView(view);
+ }
+}
diff --git a/startop/apps/test/src/TextViewInflationActivity.java b/startop/apps/test/src/TextViewInflationActivity.java
new file mode 100644
index 000000000000..30e308ef7e6d
--- /dev/null
+++ b/startop/apps/test/src/TextViewInflationActivity.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.startop.test;
+
+import android.os.Bundle;
+
+public class TextViewInflationActivity extends LayoutInflationActivity {
+ protected void onCreate(Bundle savedInstanceState) {
+ Bundle newState = savedInstanceState == null
+ ? new Bundle() : new Bundle(savedInstanceState);
+ newState.putInt(LAYOUT_ID, R.layout.textview_list);
+
+ super.onCreate(newState);
+ }
+}
diff --git a/telephony/java/android/telephony/SmsManager.java b/telephony/java/android/telephony/SmsManager.java
index 63e3801a9b4f..d4ea29fe1463 100644
--- a/telephony/java/android/telephony/SmsManager.java
+++ b/telephony/java/android/telephony/SmsManager.java
@@ -16,9 +16,11 @@
package android.telephony;
+import android.annotation.IntDef;
import android.annotation.RequiresPermission;
import android.annotation.SuppressAutoDoc;
import android.annotation.SystemApi;
+import android.annotation.TestApi;
import android.annotation.UnsupportedAppUsage;
import android.app.ActivityThread;
import android.app.PendingIntent;
@@ -43,6 +45,8 @@ import com.android.internal.telephony.ISms;
import com.android.internal.telephony.ITelephony;
import com.android.internal.telephony.SmsRawData;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -2798,4 +2802,85 @@ public final class SmsManager {
config.getBoolean(MMS_CONFIG_SUPPORT_HTTP_CHARSET_HEADER));
return filtered;
}
+
+ /** @hide */
+ @Retention(RetentionPolicy.SOURCE)
+ @IntDef(prefix = {"SMS_CATEGORY_"},
+ value = {
+ SmsManager.SMS_CATEGORY_NOT_SHORT_CODE,
+ SmsManager.SMS_CATEGORY_FREE_SHORT_CODE,
+ SmsManager.SMS_CATEGORY_STANDARD_SHORT_CODE,
+ SmsManager.SMS_CATEGORY_POSSIBLE_PREMIUM_SHORT_CODE,
+ SmsManager.SMS_CATEGORY_PREMIUM_SHORT_CODE})
+ public @interface SmsShortCodeCategory {}
+
+ /**
+ * Return value from {@link #checkSmsShortCodeDestination(String, String)} ()} for regular
+ * phone numbers.
+ * @hide
+ */
+ @TestApi
+ public static final int SMS_CATEGORY_NOT_SHORT_CODE = 0;
+ /**
+ * Return value from {@link #checkSmsShortCodeDestination(String, String)} ()} for free
+ * (no cost) short codes.
+ * @hide
+ */
+ @TestApi
+ public static final int SMS_CATEGORY_FREE_SHORT_CODE = 1;
+ /**
+ * Return value from {@link #checkSmsShortCodeDestination(String, String)} ()} for
+ * standard rate (non-premium)
+ * short codes.
+ * @hide
+ */
+ @TestApi
+ public static final int SMS_CATEGORY_STANDARD_SHORT_CODE = 2;
+ /**
+ * Return value from {@link #checkSmsShortCodeDestination(String, String)} ()} for possible
+ * premium short codes.
+ * @hide
+ */
+ @TestApi
+ public static final int SMS_CATEGORY_POSSIBLE_PREMIUM_SHORT_CODE = 3;
+ /**
+ * Return value from {@link #checkSmsShortCodeDestination(String, String)} ()} for
+ * premium short codes.
+ * @hide
+ */
+ @TestApi
+ public static final int SMS_CATEGORY_PREMIUM_SHORT_CODE = 4;
+
+ /**
+ * Check if the destination address is a possible premium short code.
+ * NOTE: the caller is expected to strip non-digits from the destination number with
+ * {@link PhoneNumberUtils#extractNetworkPortion} before calling this method.
+ *
+ * @param destAddress the destination address to test for possible short code
+ * @param countryIso the ISO country code
+ *
+ * @return
+ * {@link SmsManager#SMS_CATEGORY_NOT_SHORT_CODE},
+ * {@link SmsManager#SMS_CATEGORY_FREE_SHORT_CODE},
+ * {@link SmsManager#SMS_CATEGORY_POSSIBLE_PREMIUM_SHORT_CODE},
+ * {@link SmsManager#SMS_CATEGORY_PREMIUM_SHORT_CODE}, or
+ * {@link SmsManager#SMS_CATEGORY_STANDARD_SHORT_CODE}
+ *
+ * @hide
+ */
+ @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
+ @TestApi
+ public @SmsShortCodeCategory int checkSmsShortCodeDestination(
+ String destAddress, String countryIso) {
+ try {
+ ISms iccISms = getISmsServiceOrThrow();
+ if (iccISms != null) {
+ return iccISms.checkSmsShortCodeDestination(getSubscriptionId(),
+ ActivityThread.currentPackageName(), destAddress, countryIso);
+ }
+ } catch (RemoteException e) {
+ Log.e(TAG, "checkSmsShortCodeDestination() RemoteException", e);
+ }
+ return SmsManager.SMS_CATEGORY_NOT_SHORT_CODE;
+ }
}
diff --git a/telephony/java/com/android/internal/telephony/ISms.aidl b/telephony/java/com/android/internal/telephony/ISms.aidl
index c3dcc3db7d45..87aff8a57e27 100644
--- a/telephony/java/com/android/internal/telephony/ISms.aidl
+++ b/telephony/java/com/android/internal/telephony/ISms.aidl
@@ -551,4 +551,11 @@ interface ISms {
* @param intent PendingIntent to be sent when an SMS is received containing the token.
*/
String createAppSpecificSmsToken(int subId, String callingPkg, in PendingIntent intent);
+
+ /**
+ * Check if the destination is a possible premium short code.
+ *
+ * @param destAddress the destination address to test for possible short code
+ */
+ int checkSmsShortCodeDestination(int subId, String callingApk, String destAddress, String countryIso);
}
diff --git a/telephony/java/com/android/internal/telephony/ISmsImplBase.java b/telephony/java/com/android/internal/telephony/ISmsImplBase.java
index 1cdf44d897b2..194f46195c55 100644
--- a/telephony/java/com/android/internal/telephony/ISmsImplBase.java
+++ b/telephony/java/com/android/internal/telephony/ISmsImplBase.java
@@ -188,4 +188,10 @@ public class ISmsImplBase extends ISms.Stub {
public String createAppSpecificSmsToken(int subId, String callingPkg, PendingIntent intent) {
throw new UnsupportedOperationException();
}
+
+ @Override
+ public int checkSmsShortCodeDestination(
+ int subid, String callingApk, String destAddress, String countryIso) {
+ throw new UnsupportedOperationException();
+ }
}
diff --git a/tests/net/java/com/android/server/ConnectivityServiceTest.java b/tests/net/java/com/android/server/ConnectivityServiceTest.java
index a192945b7431..b60dc2d6b759 100644
--- a/tests/net/java/com/android/server/ConnectivityServiceTest.java
+++ b/tests/net/java/com/android/server/ConnectivityServiceTest.java
@@ -18,6 +18,7 @@ package com.android.server;
import static android.content.pm.PackageManager.GET_PERMISSIONS;
import static android.content.pm.PackageManager.MATCH_ANY_USER;
+import static android.net.ConnectivityManager.ACTION_CAPTIVE_PORTAL_SIGN_IN;
import static android.net.ConnectivityManager.CONNECTIVITY_ACTION;
import static android.net.ConnectivityManager.NETID_UNSET;
import static android.net.ConnectivityManager.PRIVATE_DNS_MODE_OFF;
@@ -84,13 +85,13 @@ import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
+import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Mockito.any;
import static org.mockito.Mockito.atLeastOnce;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.inOrder;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
@@ -145,6 +146,7 @@ import android.net.NetworkInfo.DetailedState;
import android.net.NetworkMisc;
import android.net.NetworkRequest;
import android.net.NetworkSpecifier;
+import android.net.NetworkStack;
import android.net.NetworkStackClient;
import android.net.NetworkState;
import android.net.NetworkUtils;
@@ -159,6 +161,7 @@ import android.net.shared.PrivateDnsConfig;
import android.net.util.MultinetworkPolicyTracker;
import android.os.BadParcelableException;
import android.os.Binder;
+import android.os.Bundle;
import android.os.ConditionVariable;
import android.os.Handler;
import android.os.HandlerThread;
@@ -196,6 +199,7 @@ import com.android.server.connectivity.DefaultNetworkMetrics;
import com.android.server.connectivity.IpConnectivityMetrics;
import com.android.server.connectivity.MockableSystemProperties;
import com.android.server.connectivity.Nat464Xlat;
+import com.android.server.connectivity.NetworkNotificationManager.NotificationType;
import com.android.server.connectivity.ProxyTracker;
import com.android.server.connectivity.Tethering;
import com.android.server.connectivity.Vpn;
@@ -290,6 +294,7 @@ public class ConnectivityServiceTest {
@Mock NetworkStackClient mNetworkStack;
@Mock PackageManager mPackageManager;
@Mock UserManager mUserManager;
+ @Mock NotificationManager mNotificationManager;
private ArgumentCaptor<ResolverParamsParcel> mResolverParamsParcelCaptor =
ArgumentCaptor.forClass(ResolverParamsParcel.class);
@@ -359,7 +364,7 @@ public class ConnectivityServiceTest {
@Override
public Object getSystemService(String name) {
if (Context.CONNECTIVITY_SERVICE.equals(name)) return mCm;
- if (Context.NOTIFICATION_SERVICE.equals(name)) return mock(NotificationManager.class);
+ if (Context.NOTIFICATION_SERVICE.equals(name)) return mNotificationManager;
if (Context.NETWORK_STACK_SERVICE.equals(name)) return mNetworkStack;
if (Context.USER_SERVICE.equals(name)) return mUserManager;
return super.getSystemService(name);
@@ -379,7 +384,17 @@ public class ConnectivityServiceTest {
public PackageManager getPackageManager() {
return mPackageManager;
}
- }
+
+ @Override
+ public void enforceCallingOrSelfPermission(String permission, String message) {
+ // The mainline permission can only be held if signed with the network stack certificate
+ // Skip testing for this permission.
+ if (NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK.equals(permission)) return;
+ // All other permissions should be held by the test or unnecessary: check as normal to
+ // make sure the code does not rely on unexpected permissions.
+ super.enforceCallingOrSelfPermission(permission, message);
+ }
+ }
public void waitForIdle(int timeoutMsAsInt) {
long timeoutMs = timeoutMsAsInt;
@@ -2864,6 +2879,9 @@ public class ConnectivityServiceTest {
// Expect NET_CAPABILITY_VALIDATED onAvailable callback.
validatedCallback.expectAvailableDoubleValidatedCallbacks(mWiFiNetworkAgent);
+ // Expect no notification to be shown when captive portal disappears by itself
+ verify(mNotificationManager, never()).notifyAsUser(
+ anyString(), eq(NotificationType.LOGGED_IN.eventId), any(), any());
// Break network connectivity.
// Expect NET_CAPABILITY_VALIDATED onLost callback.
@@ -2893,6 +2911,8 @@ public class ConnectivityServiceTest {
// Check that calling startCaptivePortalApp does nothing.
final int fastTimeoutMs = 100;
mCm.startCaptivePortalApp(wifiNetwork);
+ waitForIdle();
+ verify(mWiFiNetworkAgent.mNetworkMonitor, never()).launchCaptivePortalApp();
mServiceContext.expectNoStartActivityIntent(fastTimeoutMs);
// Turn into a captive portal.
@@ -2903,14 +2923,26 @@ public class ConnectivityServiceTest {
// Check that startCaptivePortalApp sends the expected command to NetworkMonitor.
mCm.startCaptivePortalApp(wifiNetwork);
- verify(mWiFiNetworkAgent.mNetworkMonitor, timeout(TIMEOUT_MS).times(1))
- .launchCaptivePortalApp();
+ waitForIdle();
+ verify(mWiFiNetworkAgent.mNetworkMonitor).launchCaptivePortalApp();
+
+ // NetworkMonitor uses startCaptivePortal(Network, Bundle) (startCaptivePortalAppInternal)
+ final Bundle testBundle = new Bundle();
+ final String testKey = "testkey";
+ final String testValue = "testvalue";
+ testBundle.putString(testKey, testValue);
+ mCm.startCaptivePortalApp(wifiNetwork, testBundle);
+ final Intent signInIntent = mServiceContext.expectStartActivityIntent(TIMEOUT_MS);
+ assertEquals(ACTION_CAPTIVE_PORTAL_SIGN_IN, signInIntent.getAction());
+ assertEquals(testValue, signInIntent.getStringExtra(testKey));
// Report that the captive portal is dismissed, and check that callbacks are fired
mWiFiNetworkAgent.setNetworkValid();
mWiFiNetworkAgent.mNetworkMonitor.forceReevaluation(Process.myUid());
validatedCallback.expectAvailableCallbacksValidated(mWiFiNetworkAgent);
captivePortalCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
+ verify(mNotificationManager, times(1)).notifyAsUser(anyString(),
+ eq(NotificationType.LOGGED_IN.eventId), any(), eq(UserHandle.ALL));
mCm.unregisterNetworkCallback(validatedCallback);
mCm.unregisterNetworkCallback(captivePortalCallback);
diff --git a/tests/net/java/com/android/server/net/NetworkStatsServiceTest.java b/tests/net/java/com/android/server/net/NetworkStatsServiceTest.java
index adaef40b51e3..51dcc3cae219 100644
--- a/tests/net/java/com/android/server/net/NetworkStatsServiceTest.java
+++ b/tests/net/java/com/android/server/net/NetworkStatsServiceTest.java
@@ -37,6 +37,7 @@ import static android.net.NetworkStats.SET_DEFAULT;
import static android.net.NetworkStats.SET_FOREGROUND;
import static android.net.NetworkStats.STATS_PER_IFACE;
import static android.net.NetworkStats.STATS_PER_UID;
+import static android.net.NetworkStats.TAG_ALL;
import static android.net.NetworkStats.TAG_NONE;
import static android.net.NetworkStats.UID_ALL;
import static android.net.NetworkStatsHistory.FIELD_ALL;
@@ -154,6 +155,7 @@ public class NetworkStatsServiceTest extends NetworkStatsBaseTest {
private File mStatsDir;
private @Mock INetworkManagementService mNetManager;
+ private @Mock NetworkStatsFactory mStatsFactory;
private @Mock NetworkStatsSettings mSettings;
private @Mock IBinder mBinder;
private @Mock AlarmManager mAlarmManager;
@@ -189,8 +191,8 @@ public class NetworkStatsServiceTest extends NetworkStatsBaseTest {
mService = new NetworkStatsService(
mServiceContext, mNetManager, mAlarmManager, wakeLock, mClock,
- TelephonyManager.getDefault(), mSettings, new NetworkStatsObservers(),
- mStatsDir, getBaseDir(mStatsDir));
+ TelephonyManager.getDefault(), mSettings, mStatsFactory,
+ new NetworkStatsObservers(), mStatsDir, getBaseDir(mStatsDir));
mHandlerThread = new HandlerThread("HandlerThread");
mHandlerThread.start();
Handler.Callback callback = new NetworkStatsService.HandlerCallback(mService);
@@ -205,7 +207,7 @@ public class NetworkStatsServiceTest extends NetworkStatsBaseTest {
mService.systemReady();
// Verify that system ready fetches realtime stats
- verify(mNetManager).getNetworkStatsUidDetail(UID_ALL, INTERFACES_ALL);
+ verify(mStatsFactory).readNetworkStatsDetail(UID_ALL, INTERFACES_ALL, TAG_ALL);
mSession = mService.openSession();
assertNotNull("openSession() failed", mSession);
@@ -696,7 +698,7 @@ public class NetworkStatsServiceTest extends NetworkStatsBaseTest {
incrementCurrentTime(HOUR_IN_MILLIS);
expectDefaultSettings();
expectNetworkStatsSummary(buildEmptyStats());
- when(mNetManager.getNetworkStatsUidDetail(eq(UID_ALL), any()))
+ when(mStatsFactory.readNetworkStatsDetail(eq(UID_ALL), any(), eq(TAG_ALL)))
.thenReturn(new NetworkStats(getElapsedRealtime(), 1)
.addValues(uidStats));
when(mNetManager.getNetworkStatsTethering(STATS_PER_UID))
@@ -712,9 +714,10 @@ public class NetworkStatsServiceTest extends NetworkStatsBaseTest {
//
// Additionally, we should have one call from the above call to mService#getDetailedUidStats
// with the augmented ifaceFilter
- verify(mNetManager, times(2)).getNetworkStatsUidDetail(UID_ALL, INTERFACES_ALL);
- verify(mNetManager, times(1)).getNetworkStatsUidDetail(
- eq(UID_ALL), eq(NetworkStatsFactory.augmentWithStackedInterfaces(ifaceFilter)));
+ verify(mStatsFactory, times(2)).readNetworkStatsDetail(UID_ALL, INTERFACES_ALL, TAG_ALL);
+ verify(mStatsFactory, times(1)).readNetworkStatsDetail(
+ eq(UID_ALL), eq(NetworkStatsFactory.augmentWithStackedInterfaces(ifaceFilter)),
+ eq(TAG_ALL));
assertTrue(ArrayUtils.contains(stats.getUniqueIfaces(), TEST_IFACE));
assertTrue(ArrayUtils.contains(stats.getUniqueIfaces(), stackedIface));
assertEquals(2, stats.size());
@@ -1062,11 +1065,11 @@ public class NetworkStatsServiceTest extends NetworkStatsBaseTest {
}
private void expectNetworkStatsSummaryDev(NetworkStats summary) throws Exception {
- when(mNetManager.getNetworkStatsSummaryDev()).thenReturn(summary);
+ when(mStatsFactory.readNetworkStatsSummaryDev()).thenReturn(summary);
}
private void expectNetworkStatsSummaryXt(NetworkStats summary) throws Exception {
- when(mNetManager.getNetworkStatsSummaryXt()).thenReturn(summary);
+ when(mStatsFactory.readNetworkStatsSummaryXt()).thenReturn(summary);
}
private void expectNetworkStatsTethering(int how, NetworkStats stats)
@@ -1080,7 +1083,8 @@ public class NetworkStatsServiceTest extends NetworkStatsBaseTest {
private void expectNetworkStatsUidDetail(NetworkStats detail, NetworkStats tetherStats)
throws Exception {
- when(mNetManager.getNetworkStatsUidDetail(UID_ALL, INTERFACES_ALL)).thenReturn(detail);
+ when(mStatsFactory.readNetworkStatsDetail(UID_ALL, INTERFACES_ALL, TAG_ALL))
+ .thenReturn(detail);
// also include tethering details, since they are folded into UID
when(mNetManager.getNetworkStatsTethering(STATS_PER_UID)).thenReturn(tetherStats);