MyAccountFragment
unknown
java
3 years ago
4.6 kB
6
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...