package com.permissionnanny.demo; import android.content.Intent; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView.ViewHolder; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.TextView; import butterknife.Bind; import butterknife.ButterKnife; import com.permissionnanny.demo.account.AccountRequestFactory; import com.permissionnanny.demo.deeplink.DemoDeepLinkActivity; import com.permissionnanny.demo.location.LocationRequestFactory; import com.permissionnanny.demo.telephony.TelephonyRequestFactory; import com.permissionnanny.demo.wifi.WifiRequestFactory; public class MainActivity extends BaseActivity { public static String FACTORY_ID = "factoryId"; public static String[] mLabels = new String[]{ "Permission Manifest Demo", "DeepLink Demo", "ContentRequestDemo", "LocationRequestDemo", "TelephonyRequestDemo", "WifiRequestDemo", "AccountRequestDemo" }; public static SimpleRequestFactory[] mFactories = new SimpleRequestFactory[]{ null, null, null, new LocationRequestFactory(), new TelephonyRequestFactory(), new WifiRequestFactory(), new AccountRequestFactory(), }; @Bind(R.id.rv) RecyclerView rv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_activity); ButterKnife.bind(this); rv.setLayoutManager(new LinearLayoutManager(this)); rv.setAdapter(new MyAdapter()); } class MyAdapter extends RecyclerView.Adapter<MyViewHolder> { @Override public int getItemCount() { return mLabels.length; } @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { return new MyViewHolder(LayoutInflater.from(parent.getContext()) .inflate(R.layout.main_listitem, parent, false)); } @Override public void onBindViewHolder(MyViewHolder holder, final int position) { holder.tv1.setText(mLabels[position]); holder.itemView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { switch (position) { case 0: startActivity(new Intent(MainActivity.this, DemoPermissionManifestActivity.class)); break; case 1: startActivity(new Intent(MainActivity.this, DemoDeepLinkActivity.class)); break; default: startActivity(new Intent(MainActivity.this, DemoActivity.class) .putExtra(FACTORY_ID, position)); } } }); } } class MyViewHolder extends ViewHolder { @Bind(R.id.tv1) TextView tv1; public MyViewHolder(View itemView) { super(itemView); ButterKnife.bind(this, itemView); } } }