MyAccountFragment
unknown
java
2 years ago
4.6 kB
4
Indexable
package com.oxootv.spagreen.fragments; import android.content.Intent; import android.content.SharedPreferences; import android.graphics.Bitmap; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.inputmethod.InputMethodManager; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; import androidx.fragment.app.Fragment; import com.google.firebase.auth.FirebaseAuth; import com.google.firebase.auth.FirebaseUser; import com.google.zxing.BarcodeFormat; import com.google.zxing.MultiFormatWriter; import com.google.zxing.WriterException; import com.google.zxing.common.BitMatrix; import com.journeyapps.barcodescanner.BarcodeEncoder; import com.oxootv.spagreen.Constants; import com.oxootv.spagreen.utils.PreferenceUtils; import com.oxootv.spagreen.R; import com.oxootv.spagreen.database.DatabaseHelper; import com.oxootv.spagreen.model.ActiveStatus; import com.oxootv.spagreen.ui.activity.LoginChooserActivity; import static android.content.Context.MODE_PRIVATE; /** * A simple {@link Fragment} subclass. */ public class MyAccountFragment extends Fragment { private Button sign_out; private TextView user_name; // private TextView user_email; private TextView expire_date; private TextView active_plan; private DatabaseHelper db; private ImageView showQr; public MyAccountFragment() { // Required empty public constructor } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment View view = inflater.inflate(R.layout.fragment_my_account, container, false); db = new DatabaseHelper(getContext()); initViews(view); sign_out.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { signOut(); } }); return view; } private void initViews(View view) { sign_out = view.findViewById(R.id.sign_out_button); user_name = view.findViewById(R.id.userNameTv); ///user_email = view.findViewById(R.id.userEmailTv); active_plan = view.findViewById(R.id.activePlanTv); expire_date = view.findViewById(R.id.expireDateTv); showQr = view.findViewById(R.id.show_qr); MultiFormatWriter mWriter = new MultiFormatWriter(); String deviceID = android.provider.Settings.Secure.getString(getContext().getContentResolver(), android.provider.Settings.Secure.ANDROID_ID); user_name.setText(""+deviceID);//new DatabaseHelper(getContext()).getUserData().getName()); try { //BitMatrix class to encode entered text and set Width & Height BitMatrix mMatrix = mWriter.encode(deviceID, BarcodeFormat.QR_CODE, 400,400); BarcodeEncoder mEncoder = new BarcodeEncoder(); Bitmap mBitmap = mEncoder.createBitmap(mMatrix);//creating bitmap of code showQr.setImageBitmap(mBitmap);//Setting generated QR code to imageView // to hide the keyboard InputMethodManager manager = (InputMethodManager) getContext().getSystemService(getContext().INPUT_METHOD_SERVICE); // manager.hideSoftInputFromWindow(etText.getApplicationWindowToken(), 0); } catch (WriterException e) { } ActiveStatus activeStatus = db.getActiveStatusData(); active_plan.setText(activeStatus.getPackageTitle()); expire_date.setText(activeStatus.getExpireDate()); } private void signOut() { DatabaseHelper databaseHelper = new DatabaseHelper(getContext()); String userId = databaseHelper.getUserData().getUserId(); FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser(); if (user != null) { FirebaseAuth.getInstance().signOut(); } if (userId != null) { SharedPreferences.Editor editor = getContext().getSharedPreferences(Constants.USER_LOGIN_STATUS, MODE_PRIVATE).edit(); editor.putBoolean(Constants.USER_LOGIN_STATUS, false); editor.apply(); editor.commit(); databaseHelper.deleteUserData(); PreferenceUtils.clearSubscriptionSavedData(getContext()); startActivity(new Intent(getContext(), LoginChooserActivity.class)); getActivity().finish(); } } }
Editor is loading...