package com.utopiaindustries.hseobservationsapp.activities; import android.content.Context; import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import androidx.activity.EdgeToEdge; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import androidx.core.graphics.Insets; import androidx.core.view.ViewCompat; import androidx.core.view.WindowInsetsCompat; import androidx.viewpager.widget.ViewPager; import com.google.android.material.tabs.TabLayout; import com.utopiaindustries.hseobservationsapp.R; import com.utopiaindustries.hseobservationsapp.adapters.PagerAdapter; import com.utopiaindustries.hseobservationsapp.helper.Helper; import com.utopiaindustries.hseobservationsapp.helper.Preference; import com.utopiaindustries.hseobservationsapp.utils.StorageManager.StorageManager; public class DashboardActivity extends AppCompatActivity { TabLayout tabLayout; ViewPager viewPager; PagerAdapter pagerAdapter; ImageView imgLogout; ImageView img_back; public int[] tabIcons = { R.drawable.icon_tab_home, R.drawable.icon_tab_drafts }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); EdgeToEdge.enable(this); setContentView(R.layout.activity_dashboard); ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> { Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); return insets; }); initializeLayout(); imgLogout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { alertLogOut(DashboardActivity.this); } }); img_back.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (getSupportFragmentManager().getBackStackEntryCount() > 0) { getSupportFragmentManager().popBackStack(); // Go back to the previous fragment } else { finish(); } } }); } public void initializeLayout() { img_back = findViewById(R.id.img_back); imgLogout = findViewById(R.id.img_logout); setAppVersion(); viewPager = (ViewPager) findViewById(R.id.viewpager); pagerAdapter = new PagerAdapter(getSupportFragmentManager(), DashboardActivity.this); viewPager.setAdapter(pagerAdapter); tabLayout = (TabLayout) findViewById(R.id.tab_layout); tabLayout.setupWithViewPager(viewPager); tabLayout.getTabAt(0).setIcon(tabIcons[0]); tabLayout.getTabAt(1).setIcon(tabIcons[1]); for (int i = 0; i < tabLayout.getTabCount(); i++) { TabLayout.Tab tab = tabLayout.getTabAt(i); tab.setCustomView(pagerAdapter.getTabView(i)); } } public void setAppVersion() { PackageManager packageManager = getPackageManager(); try { PackageInfo info = packageManager.getPackageInfo( getPackageName(), 0 ); String currentVersion = String.format("v-%s", String.valueOf(info.versionName)); StorageManager.getInstance().setAppVersion(currentVersion); } catch ( Exception e ) { e.printStackTrace(); } } public void alertLogOut(Context con) { ViewGroup viewGroup = findViewById(android.R.id.content); TextView dialogOkBtn, dialogCancelBtn; AlertDialog.Builder builder = new AlertDialog.Builder(con); View view1 = LayoutInflater.from(con).inflate(R.layout.custom_layout_for_logout, viewGroup, false); builder.setCancelable(false); builder.setView(view1); dialogOkBtn = view1.findViewById(R.id.dialogOkBtn); dialogCancelBtn = view1.findViewById(R.id.dialogCancelBtn); AlertDialog alertDialog = builder.create(); alertDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); dialogOkBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { alertDialog.dismiss(); Preference.setMyBooleanPref(Helper.project_file, "isLoggedIn", getApplicationContext(), false); Preference.setMyStringPref(Helper.project_file, Helper.firstTimeApiCall, getApplicationContext(), "false"); Intent i = new Intent(DashboardActivity.this, LoginActivity.class); i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(i); finish(); overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left); } }); dialogCancelBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { alertDialog.dismiss(); //Toast.makeText(con, "Cancel", Toast.LENGTH_SHORT).show(); } }); alertDialog.show(); } }