162 lines
5.6 KiB
Java
162 lines
5.6 KiB
Java
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();
|
|
}
|
|
} |