Android Open Source - jogjakota-perizinan Permit Type List Activity






From Project

Back to project page jogjakota-perizinan.

License

The source code is released under:

MIT License

If you think the Android project jogjakota-perizinan listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package id.go.jogjakota.perizinan;
/*w ww  .j  a v a  2s .  com*/
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 java.util.ArrayList;
import java.util.List;

import butterknife.ButterKnife;
import butterknife.InjectView;
import id.go.jogjakota.perizinan.data.PermitTypes;
import id.go.jogjakota.perizinan.domain.PermitType;
import rx.Observable;
import rx.Observer;
import rx.Subscriber;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;

public class PermitTypeListActivity extends BaseActivity {
    @InjectView(R.id.recycler)
    RecyclerView mRecycler;

    private PermitTypeAdapter mAdapter = new PermitTypeAdapter();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_permit_type_list);
        ButterKnife.inject(this);

        mRecycler.setLayoutManager(new LinearLayoutManager(this));
        mRecycler.setAdapter(mAdapter);

        Observable.create(new Observable.OnSubscribe<List<PermitType>>() {
            @Override
            public void call(Subscriber<? super List<PermitType>> subscriber) {
                subscriber.onNext(PermitTypes.getAll());
                subscriber.onCompleted();
            }
        })
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Observer<List<PermitType>>() {
                    @Override
                    public void onCompleted() {
                    }

                    @Override
                    public void onError(Throwable e) {

                    }

                    @Override
                    public void onNext(List<PermitType> permits) {
                        mAdapter.setPermitTypeList(permits);
                        mAdapter.notifyDataSetChanged();
                    }
                });
    }

    private void openFormForPermitType(int position) {
        PermitType type = mAdapter.getItem(position);
        Intent intent = new Intent(this, PermitFormActivity.class);
        intent.putExtra("type", type);
        startActivity(intent);
    }

    private class PermitTypeAdapter extends RecyclerView.Adapter<TwoLineViewHolder> {

        private List<PermitType> permitTypeList = new ArrayList<>();

        @Override
        public TwoLineViewHolder onCreateViewHolder(ViewGroup parent, int i) {
            View view = LayoutInflater.from(parent.getContext())
                    .inflate(R.layout.item_two_lines, parent, false);
            return new TwoLineViewHolder(view);
        }

        @Override
        public void onBindViewHolder(TwoLineViewHolder twoLineViewHolder, final int i) {
            PermitType type = permitTypeList.get(i);

            twoLineViewHolder.mRoot.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    openFormForPermitType(i);
                }
            });
            twoLineViewHolder.mText1.setText(type.getName());
            twoLineViewHolder.mText2.setText(type.getMaxDaysString());
        }

        @Override
        public int getItemCount() {
            return permitTypeList.size();
        }

        public PermitType getItem(int pos) {
            return permitTypeList.get(pos);
        }

        public void setPermitTypeList(List<PermitType> permitTypeList) {
            this.permitTypeList = permitTypeList;
        }
    }

}




Java Source Code List

id.go.jogjakota.perizinan.ApplicationTest.java
id.go.jogjakota.perizinan.BaseActivity.java
id.go.jogjakota.perizinan.BaseApp.java
id.go.jogjakota.perizinan.LoginActivity.java
id.go.jogjakota.perizinan.MainActivity.java
id.go.jogjakota.perizinan.PermitDetailActivity.java
id.go.jogjakota.perizinan.PermitFormActivity.java
id.go.jogjakota.perizinan.PermitListActivity.java
id.go.jogjakota.perizinan.PermitTypeListActivity.java
id.go.jogjakota.perizinan.RegisterActivity.java
id.go.jogjakota.perizinan.SplashActivity.java
id.go.jogjakota.perizinan.StatusView.java
id.go.jogjakota.perizinan.Tag.java
id.go.jogjakota.perizinan.Transition.java
id.go.jogjakota.perizinan.TwoLineViewHolder.java
id.go.jogjakota.perizinan.data.Dummies.java
id.go.jogjakota.perizinan.data.PermitDB.java
id.go.jogjakota.perizinan.data.PermitTypes.java
id.go.jogjakota.perizinan.data.Session.java
id.go.jogjakota.perizinan.data.UserDB.java
id.go.jogjakota.perizinan.domain.PermitType.java
id.go.jogjakota.perizinan.domain.Permit.java
id.go.jogjakota.perizinan.domain.User.java