Merge "Make sure uibench test app load list content" into rvc-dev am: 54dd86ac12
Change-Id: Ie600f0828904957e0c014fdf41d6974239e3249a
This commit is contained in:
@@ -15,27 +15,24 @@
|
||||
*/
|
||||
package com.android.test.uibench;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.MenuItem;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.ListAdapter;
|
||||
|
||||
import androidx.appcompat.app.ActionBarDrawerToggle;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.core.view.GravityCompat;
|
||||
import androidx.drawerlayout.widget.DrawerLayout;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import androidx.fragment.app.ListFragment;
|
||||
|
||||
import com.android.test.uibench.listview.CompatListActivity;
|
||||
|
||||
import com.google.android.material.navigation.NavigationView;
|
||||
|
||||
public class ClippedListActivity extends AppCompatActivity
|
||||
public class ClippedListActivity extends CompatListActivity
|
||||
implements NavigationView.OnNavigationItemSelectedListener {
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
protected void initializeActivity() {
|
||||
setContentView(R.layout.activity_navigation_drawer);
|
||||
Toolbar toolbar = findViewById(R.id.toolbar);
|
||||
setSupportActionBar(toolbar);
|
||||
@@ -48,15 +45,17 @@ public class ClippedListActivity extends AppCompatActivity
|
||||
|
||||
NavigationView navigationView = findViewById(R.id.nav_view);
|
||||
navigationView.setNavigationItemSelectedListener(this);
|
||||
}
|
||||
|
||||
FragmentManager fm = getSupportFragmentManager();
|
||||
if (fm.findFragmentById(android.R.id.content) == null) {
|
||||
ListFragment listFragment = new ListFragment();
|
||||
ListAdapter adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1,
|
||||
TextUtils.buildSimpleStringList(40));
|
||||
listFragment.setListAdapter(adapter);
|
||||
fm.beginTransaction().add(R.id.app_bar_layout, listFragment).commit();
|
||||
}
|
||||
@Override
|
||||
protected ListAdapter createListAdapter() {
|
||||
return new ArrayAdapter<>(this, android.R.layout.simple_list_item_1,
|
||||
TextUtils.buildSimpleStringList(40));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getListFragmentContainerViewId() {
|
||||
return R.id.app_bar_layout;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -19,13 +19,15 @@ import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.ResolveInfo;
|
||||
import android.os.Bundle;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import androidx.fragment.app.ListFragment;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import android.view.View;
|
||||
import android.widget.ListAdapter;
|
||||
import android.widget.ListView;
|
||||
import android.widget.SimpleAdapter;
|
||||
|
||||
import androidx.fragment.app.ListFragment;
|
||||
|
||||
import com.android.test.uibench.listview.CompatListActivity;
|
||||
|
||||
import java.text.Collator;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
@@ -34,10 +36,12 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class MainActivity extends AppCompatActivity {
|
||||
public class MainActivity extends CompatListActivity {
|
||||
private static final String EXTRA_PATH = "activity_path";
|
||||
private static final String CATEGORY_HWUI_TEST = "com.android.test.uibench.TEST";
|
||||
|
||||
private String mActivityPath = "";
|
||||
|
||||
public static class TestListFragment extends ListFragment {
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
@@ -56,9 +60,7 @@ public class MainActivity extends AppCompatActivity {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
protected void initializeActivity() {
|
||||
Intent intent = getIntent();
|
||||
String path = intent.getStringExtra(EXTRA_PATH);
|
||||
|
||||
@@ -68,15 +70,19 @@ public class MainActivity extends AppCompatActivity {
|
||||
// not root level, display where we are in the hierarchy
|
||||
setTitle(path);
|
||||
}
|
||||
mActivityPath = path;
|
||||
}
|
||||
|
||||
FragmentManager fm = getSupportFragmentManager();
|
||||
if (fm.findFragmentById(android.R.id.content) == null) {
|
||||
ListFragment listFragment = new TestListFragment();
|
||||
listFragment.setListAdapter(new SimpleAdapter(this, getData(path),
|
||||
android.R.layout.simple_list_item_1, new String[] { "title" },
|
||||
new int[] { android.R.id.text1 }));
|
||||
fm.beginTransaction().add(android.R.id.content, listFragment).commit();
|
||||
}
|
||||
@Override
|
||||
protected ListAdapter createListAdapter() {
|
||||
return new SimpleAdapter(this, getData(mActivityPath),
|
||||
android.R.layout.simple_list_item_1, new String[] { "title" },
|
||||
new int[] { android.R.id.text1 });
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ListFragment createListFragment() {
|
||||
return new TestListFragment();
|
||||
}
|
||||
|
||||
protected List<Map<String, Object>> getData(String prefix) {
|
||||
|
||||
@@ -16,13 +16,15 @@
|
||||
package com.android.test.uibench;
|
||||
|
||||
import android.os.Bundle;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import androidx.fragment.app.ListFragment;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import android.view.View;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.ListAdapter;
|
||||
|
||||
public class ShadowGridActivity extends AppCompatActivity {
|
||||
import androidx.fragment.app.ListFragment;
|
||||
|
||||
import com.android.test.uibench.listview.CompatListActivity;
|
||||
|
||||
public class ShadowGridActivity extends CompatListActivity {
|
||||
public static class NoDividerListFragment extends ListFragment {
|
||||
@Override
|
||||
public void onViewCreated(View view, Bundle savedInstanceState) {
|
||||
@@ -31,18 +33,14 @@ public class ShadowGridActivity extends AppCompatActivity {
|
||||
}
|
||||
};
|
||||
|
||||
@Override
|
||||
protected ListAdapter createListAdapter() {
|
||||
return new ArrayAdapter<>(this, R.layout.card_row, R.id.card_text,
|
||||
TextUtils.buildSimpleStringList());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
FragmentManager fm = getSupportFragmentManager();
|
||||
if (fm.findFragmentById(android.R.id.content) == null) {
|
||||
ListFragment listFragment = new NoDividerListFragment();
|
||||
|
||||
listFragment.setListAdapter(new ArrayAdapter<>(this,
|
||||
R.layout.card_row, R.id.card_text, TextUtils.buildSimpleStringList()));
|
||||
fm.beginTransaction().add(android.R.id.content, listFragment).commit();
|
||||
}
|
||||
protected ListFragment createListFragment() {
|
||||
return new NoDividerListFragment();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,22 +16,29 @@
|
||||
package com.android.test.uibench.listview;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.widget.ListAdapter;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import androidx.fragment.app.ListFragment;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import android.widget.ListAdapter;
|
||||
|
||||
public abstract class CompatListActivity extends AppCompatActivity {
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
initializeActivity();
|
||||
|
||||
int containerViewId = getListFragmentContainerViewId();
|
||||
FragmentManager fm = getSupportFragmentManager();
|
||||
if (fm.findFragmentById(android.R.id.content) == null) {
|
||||
Fragment fragment = fm.findFragmentById(containerViewId);
|
||||
if (fragment == null) {
|
||||
ListFragment listFragment = createListFragment();
|
||||
listFragment.setListAdapter(createListAdapter());
|
||||
fm.beginTransaction().add(android.R.id.content, listFragment).commit();
|
||||
fm.beginTransaction().add(containerViewId, listFragment).commit();
|
||||
} else if (fragment instanceof ListFragment) {
|
||||
((ListFragment) fragment).setListAdapter(createListAdapter());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,4 +47,11 @@ public abstract class CompatListActivity extends AppCompatActivity {
|
||||
protected ListFragment createListFragment() {
|
||||
return new ListFragment();
|
||||
}
|
||||
|
||||
protected int getListFragmentContainerViewId() {
|
||||
return android.R.id.content;
|
||||
}
|
||||
|
||||
protected void initializeActivity() {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,16 +17,17 @@ package com.android.test.uibench.recyclerview;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.android.test.uibench.R;
|
||||
|
||||
public abstract class RvCompatListActivity extends AppCompatActivity {
|
||||
@@ -51,14 +52,21 @@ public abstract class RvCompatListActivity extends AppCompatActivity {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
FragmentManager fm = getSupportFragmentManager();
|
||||
if (fm.findFragmentById(android.R.id.content) == null) {
|
||||
Fragment existingFragment = fm.findFragmentById(android.R.id.content);
|
||||
if (existingFragment == null) {
|
||||
RecyclerViewFragment fragment = new RecyclerViewFragment();
|
||||
fragment.layoutManager = createLayoutManager(this);
|
||||
fragment.adapter = createAdapter();
|
||||
initializeRecyclerViewFragment(fragment);
|
||||
fm.beginTransaction().add(android.R.id.content, fragment).commit();
|
||||
} else if (existingFragment instanceof RecyclerViewFragment) {
|
||||
initializeRecyclerViewFragment((RecyclerViewFragment) existingFragment);
|
||||
}
|
||||
}
|
||||
|
||||
private void initializeRecyclerViewFragment(RecyclerViewFragment fragment) {
|
||||
fragment.layoutManager = createLayoutManager(this);
|
||||
fragment.adapter = createAdapter();
|
||||
}
|
||||
|
||||
protected RecyclerView.LayoutManager createLayoutManager(Context context) {
|
||||
return new LinearLayoutManager(context);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user