Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ahmedt.smile.Main;
- import android.app.Dialog;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.support.annotation.NonNull;
- import android.support.design.widget.NavigationView;
- import android.support.v4.view.GravityCompat;
- import android.support.v4.widget.DrawerLayout;
- import android.support.v7.app.ActionBarDrawerToggle;
- import android.support.v7.app.AlertDialog;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.support.v7.widget.Toolbar;
- import android.util.Log;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.view.View;
- import android.widget.AdapterView;
- import android.widget.ArrayAdapter;
- import android.widget.ImageView;
- import android.widget.Spinner;
- import android.widget.Switch;
- import android.widget.TextView;
- import android.widget.Toast;
- import com.androidnetworking.AndroidNetworking;
- import com.androidnetworking.error.ANError;
- import com.androidnetworking.interfaces.OkHttpResponseAndParsedRequestListener;
- import com.pixplicity.easyprefs.library.Prefs;
- import java.util.ArrayList;
- import java.util.List;
- import ahmedt.smile.Fragment.DataNomorFragment.DataNomorFragment;
- import ahmedt.smile.Fragment.HomeFragment.HomeFragment;
- import ahmedt.smile.Helper.Helper;
- import ahmedt.smile.Login.LoginActivity;
- import ahmedt.smile.Main.UserModel.UserModel;
- import ahmedt.smile.R;
- import ahmedt.smile.server;
- import okhttp3.Response;
- import static ahmedt.smile.server.EMAIL;
- import static ahmedt.smile.server.FOTO;
- import static ahmedt.smile.server.GROUP_MENU;
- import static ahmedt.smile.server.GROUP_MENU_PH;
- import static ahmedt.smile.server.GROUP_MENU_SEK;
- import static ahmedt.smile.server.GROUP_PARAM;
- import static ahmedt.smile.server.ID_CABANG;
- import static ahmedt.smile.server.ID_PH;
- import static ahmedt.smile.server.ID_SEK;
- import static ahmedt.smile.server.ID_SO;
- import static ahmedt.smile.server.INDEX;
- import static ahmedt.smile.server.JABATAN;
- import static ahmedt.smile.server.JABATAN_PH;
- import static ahmedt.smile.server.JABATAN_SEK;
- import static ahmedt.smile.server.KODE_JABATAN;
- import static ahmedt.smile.server.NAMA;
- import static ahmedt.smile.server.NAMA_CABANG;
- import static ahmedt.smile.server.PTS_PH;
- import static ahmedt.smile.server.TOKEN;
- import static ahmedt.smile.server.USERNAME;
- public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
- private DrawerLayout drawerLayout;
- private TextView nama;
- private Menu menu;
- private ImageView foto;
- private Dialog myCustomDialog;
- private NavigationView navigationView;
- private Spinner head_spinner;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- Toolbar toolbar = findViewById(R.id.toolbar);
- setSupportActionBar(toolbar);
- drawerLayout = findViewById(R.id.drawer_layout);
- navigationView = findViewById(R.id.nav_view);
- navigationView.setNavigationItemSelectedListener(this);
- //inisiasi item header
- View headerView = navigationView.getHeaderView(0);
- nama = headerView.findViewById(R.id.nama_header);
- head_spinner = headerView.findViewById(R.id.spinner_jabatan);
- menu = navigationView.getMenu();
- /* daftarNomor = menu.findItem(R.id.data_nomor_menu);
- daftarNomor.setVisible(false); */
- //panggil methode untuk set menu navbar
- //setMenuNavbar();
- Log.d("JABATAN", "onCreate: "+Prefs.getString(JABATAN,""));
- Log.d("Token", "onCreate: "+Prefs.getString(TOKEN,""));
- //untuk menampilkan icon di action bar agar navbar bisa terbuka
- ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawerLayout,toolbar,R.string.navigation_drawer_open, R.string.navigation_drawer_close);
- drawerLayout.addDrawerListener(toggle);
- toggle.syncState();
- //panggil user detail
- getUserDetails();
- addItemSpinner();
- //panggil dialog
- foto = headerView.findViewById(R.id.foto_header);
- foto.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- getDialog();
- }
- });
- //ketika aplikasi berganti orientasi maka tidak akan berubah fragmentnya tapi ketika di tutup akan kembali ke fragment awal
- if(savedInstanceState == null){
- //set awalan fragment pada navbar
- getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new HomeFragment()).commit();
- navigationView.setCheckedItem(R.id.home_menu);
- }}
- //untuk set action pada item navbar
- @Override
- public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
- switch (menuItem.getItemId()){
- case R.id.home_menu:
- getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new HomeFragment()).commit();
- break;
- case R.id.data_nomor_menu:
- getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new DataNomorFragment()).commit();
- break;
- case R.id.keluar_menu:
- drawerLayout.closeDrawer(GravityCompat.START);
- LogOut();
- default:
- }
- drawerLayout.closeDrawer(GravityCompat.START);
- return true;
- }
- @Override
- public void onBackPressed() {
- //jika navbar terbuka maka ketika menekan onbackpress akan menutup navbarnya
- if (drawerLayout.isDrawerOpen(GravityCompat.START)){
- drawerLayout.closeDrawer(GravityCompat.START);
- }else{
- //jika navbarnya sudah tertutup maka akan menjalankan printah onbackpressednya
- LogOut();
- }
- }
- private void LogOut(){
- AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
- this);
- // set title dialog
- alertDialogBuilder.setTitle("Ingin Keluar dari Aplikasi?");
- // set pesan dari dialog
- alertDialogBuilder
- .setMessage("Klik Ya untuk keluar")
- .setIcon(R.drawable.arsipku)
- .setCancelable(false)
- .setPositiveButton("Ya",new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog,int id) {
- Intent intent = new Intent(MainActivity.this, LoginActivity.class);
- intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NO_HISTORY);
- Prefs.clear();
- startActivity(intent);
- finish();
- }
- })
- .setNegativeButton("Tidak",new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int id) {
- dialog.cancel();
- }
- });
- // membuat alert dialog dari builder
- AlertDialog alertDialog = alertDialogBuilder.create();
- // menampilkan alert dialog
- alertDialog.show();
- }
- private void getDialog(){
- TextView nama_dialog;
- ImageView fotoDialog;
- myCustomDialog = new Dialog(MainActivity.this);
- myCustomDialog.setContentView(R.layout.custom_dialog);
- myCustomDialog.setCancelable(true);
- nama_dialog = myCustomDialog.findViewById(R.id.nama_dialog);
- fotoDialog = myCustomDialog.findViewById(R.id.foto_dialog);
- nama_dialog.setText(Prefs.getString(NAMA,""));
- //panggil gambar dari server
- Helper.LoadImage(MainActivity.this, Prefs.getString(FOTO,""), fotoDialog);
- myCustomDialog.show();
- }
- private void setMenuNavbar(){
- //menu = navigationView.getMenu();
- MenuItem DataNomor, KotakSurat, TerkirimSurat, DisMasSurat, DisKelSurat,
- KotakNota, TerkirimNota, DisMasNota, DisKelNota, Memo, KotakMemo,
- TerkirimMemo;
- DataNomor = menu.findItem(R.id.data_nomor_menu);
- //item surat dinas
- KotakSurat = menu.findItem(R.id.kotak_surat_menu);
- TerkirimSurat = menu.findItem(R.id.terkirim_surat_menu);
- DisMasSurat = menu.findItem(R.id.disposisi_masuk_surat_menu);
- DisKelSurat = menu.findItem(R.id.disposisi_keluar_surat_menu);
- //item nota dinas
- KotakNota = menu.findItem(R.id.kotak_masuk_menu);
- TerkirimNota = menu.findItem(R.id.terkirim_nota_menu);
- DisMasNota = menu.findItem(R.id.disposisi_masuk_nota_menu);
- DisKelNota = menu.findItem(R.id.disposisi_keluar_nota_menu);
- //item Memo
- Memo = menu.findItem(R.id.memo);
- KotakMemo = menu.findItem(R.id.kotak_memo_menu);
- TerkirimMemo = menu.findItem(R.id.terkirim_memo_menu);
- if(Prefs.getString(GROUP_PARAM,"").equals("1")||Prefs.getString(GROUP_PARAM,"").equals("2")){
- //item surat dinas
- DataNomor.setVisible(true);
- KotakSurat.setVisible(true);
- TerkirimSurat.setVisible(true);
- DisMasSurat.setVisible(true);
- DisKelSurat.setVisible(true);
- //item nota dinas
- KotakNota.setVisible(true);
- TerkirimNota.setVisible(true);
- DisMasNota.setVisible(true);
- DisKelNota.setVisible(true);
- //item Memo
- Memo.setVisible(false);
- KotakMemo.setVisible(false);
- TerkirimMemo.setVisible(false);
- }if(Prefs.getString(GROUP_PARAM,"").equals("3")){
- //item surat dinas
- DataNomor.setVisible(false);
- KotakSurat.setVisible(false);
- TerkirimSurat.setVisible(false);
- DisMasSurat.setVisible(true);
- DisKelSurat.setVisible(true);
- //item nota dinas
- KotakNota.setVisible(true);
- TerkirimNota.setVisible(true);
- DisMasNota.setVisible(true);
- DisKelNota.setVisible(true);
- //item Memo
- Memo.setVisible(true);
- KotakMemo.setVisible(true);
- TerkirimMemo.setVisible(false);
- }else if (Prefs.getString(GROUP_PARAM,"").equals("4")){
- //item surat dinas
- DataNomor.setVisible(false);
- KotakSurat.setVisible(false);
- TerkirimSurat.setVisible(false);
- DisMasSurat.setVisible(true);
- DisKelSurat.setVisible(false);
- //item nota dinas
- KotakNota.setVisible(false);
- TerkirimNota.setVisible(false);
- DisMasNota.setVisible(true);
- DisKelNota.setVisible(false);
- //item Memo
- Memo.setVisible(true);
- KotakMemo.setVisible(true);
- TerkirimMemo.setVisible(true);
- }
- }
- private void addItemSpinner(){
- List<String> list = new ArrayList<String>();
- list.add(Prefs.getString(JABATAN,""));
- if (Prefs.getString(JABATAN_SEK,"").equals("")){
- list.add(Prefs.getString(PTS_PH,"")+" "+Prefs.getString(JABATAN_PH,""));
- }else{
- list.add(Prefs.getString(PTS_PH,"")+" "+Prefs.getString(JABATAN_SEK,""));
- }
- ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_spinner_dropdown_item);
- head_spinner.setAdapter(dataAdapter);
- head_spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
- @Override
- public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
- String menuParam;
- // if (head_spinner.getSelectedItem().equals(Prefs.getString(JABATAN,""))){
- // String menuParam;
- // menuParam = Prefs.getString(GROUP_MENU,"");
- // Prefs.putString(GROUP_PARAM,menuParam);
- // setMenuNavbar();
- // }else if (head_spinner.getSelectedItem().equals(Prefs.getString(JABATAN,""))){
- // Prefs.getString(GROUP_MENU,"");
- // setMenuNavbar();
- // }
- switch (position){
- case 0:
- menuParam = Prefs.getString(GROUP_MENU,"");
- Prefs.putString(GROUP_PARAM,menuParam);
- Log.d("GRUP PARAM", "onItemSelected: "+Prefs.getString(GROUP_PARAM,""));
- setMenuNavbar();
- return;
- case 1:
- if (Prefs.getString(GROUP_MENU_SEK,"").equals("")){
- menuParam = Prefs.getString(GROUP_MENU_PH,"");
- Prefs.putString(GROUP_PARAM,menuParam);
- Log.d("GRUP PARAM", "onItemSelected: "+Prefs.getString(GROUP_PARAM,""));
- setMenuNavbar();
- }else{
- menuParam = Prefs.getString(GROUP_MENU_PH,"");
- Prefs.putString(GROUP_PARAM,menuParam);
- Log.d("GRUP PARAM", "onItemSelected: "+Prefs.getString(GROUP_PARAM,""));
- setMenuNavbar();
- }
- return;
- }
- }
- @Override
- public void onNothingSelected(AdapterView<?> parent) {
- }
- });
- }
- private void getUserDetails(){
- //panggil user detail
- AndroidNetworking.post(server.getUserData_URL)
- .addHeaders("Authorization",Prefs.getString(TOKEN,""))
- .build()
- .getAsOkHttpResponseAndObject(UserModel.class, new OkHttpResponseAndParsedRequestListener<UserModel>() {
- @Override
- public void onResponse(Response okHttpResponse, UserModel response) {
- if (okHttpResponse.isSuccessful()){
- if (response.getStatus() == 200){
- //simpan data di sharedpreference
- Prefs.putString(ID_SO, response.getData().getIdSo());
- Prefs.putString(NAMA, response.getData().getNama());
- Prefs.putString(EMAIL, response.getData().getEmail());
- Prefs.putString(USERNAME, response.getData().getUsername());
- Prefs.putString(KODE_JABATAN, response.getData().getKodeJabatan());
- Prefs.putString(JABATAN, response.getData().getJabatan());
- Prefs.putString(INDEX, response.getData().getIndex());
- Prefs.putString(ID_CABANG, response.getData().getIdCabang());
- Prefs.putString(NAMA_CABANG, response.getData().getNamaCabang());
- Prefs.putString(GROUP_MENU, response.getData().getGroupmenu());
- Prefs.putString(FOTO, response.getData().getFoto());
- Prefs.putString(ID_SEK, response.getData().getIdSek());
- Prefs.putString(ID_PH, response.getData().getIdPh());
- Prefs.putString(PTS_PH, response.getData().getPtsPh());
- Prefs.putString(JABATAN_SEK, response.getData().getJabatansek());
- Prefs.putString(JABATAN_PH, response.getData().getJabatanph());
- Prefs.putString(GROUP_MENU_SEK, response.getData().getGroupmenusek());
- Prefs.putString(GROUP_MENU_PH, response.getData().getGroupmenuph());
- Prefs.putString(GROUP_PARAM, response.getData().getGroupmenu());
- //panggil nama dan jabatan
- nama.setText(Prefs.getString(NAMA, ""));
- //set foto di header navbar
- Helper.LoadImage(MainActivity.this,Prefs.getString(FOTO,""),foto);
- //tambah methode setmenu untuk navbar
- setMenuNavbar();
- //tambah methode untuk spinner header
- addItemSpinner();
- Log.d("JABATAN", "onResponse: "+Prefs.getString(JABATAN,""));
- }else{
- Toast.makeText(MainActivity.this, response.getMsg(), Toast.LENGTH_LONG).show();
- }
- }
- }
- @Override
- public void onError(ANError anError) {
- Toast.makeText(MainActivity.this, "Jaringan Error", Toast.LENGTH_LONG).show();
- Log.d("Login", "onError: "+anError.getErrorDetail());
- Log.d("Login", "onError: "+anError.getErrorBody());
- Log.d("Login", "onError: "+anError.getErrorCode());
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement