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.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import butterknife.Bind;
import butterknife.ButterKnife;
import butterknife.OnCheckedChanged;
import butterknife.OnClick;
public class DemoPermissionManifestActivity extends BaseActivity {
@Bind(R.id.rv) RecyclerView rv;
RecyclerView.Adapter mAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.manifest_activity);
ButterKnife.bind(this);
rv.setLayoutManager(new LinearLayoutManager(this));
rv.setAdapter(mAdapter = new ManifestAdapter());
}
@OnClick(R.id.sendManifest)
void sendManifest() {
new DemoPermissionManifestReceiver().onReceive(this, new Intent());
}
public static class ManifestAdapter extends RecyclerView.Adapter<ManifestViewHolder> {
@Override
public ManifestViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.manifest_listitem, viewGroup,
false);
return new ManifestViewHolder(view);
}
@Override
public void onBindViewHolder(ManifestViewHolder manifestViewHolder, int i) {
DemoPermissionManifestReceiver.Value value = DemoPermissionManifestReceiver.data.get(i);
manifestViewHolder.cbSend.setChecked(value.send);
manifestViewHolder.cbSend.setText(value.permissionName);
manifestViewHolder.cbSend.setTag(i);
ButterKnife.bind(this, manifestViewHolder.itemView);
}
@Override
public int getItemCount() {
return DemoPermissionManifestReceiver.data.size();
}
@OnCheckedChanged(R.id.checkbox)
void changeState(CheckBox view, boolean state) {
DemoPermissionManifestReceiver.data.get((Integer) view.getTag()).send = state;
}
}
public static class ManifestViewHolder extends RecyclerView.ViewHolder {
@Bind(R.id.checkbox) CheckBox cbSend;
public ManifestViewHolder(View itemView) {
super(itemView);
ButterKnife.bind(this, itemView);
}
}
}