MyAccountFragment

 avatar
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...