Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.qldejozz.Home.Akun;
- import android.annotation.SuppressLint;
- import android.app.Activity;
- import android.content.Context;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.content.pm.PackageManager;
- import android.graphics.Bitmap;
- import android.graphics.BitmapFactory;
- import android.net.Uri;
- import android.os.Environment;
- import android.provider.MediaStore;
- import android.support.annotation.NonNull;
- import android.support.annotation.Nullable;
- import android.support.design.widget.BottomNavigationView;
- import android.support.design.widget.TabLayout;
- import android.support.v4.app.FragmentManager;
- import android.support.v4.view.ViewPager;
- import android.support.v7.app.AlertDialog;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.support.v7.widget.CardView;
- import android.support.v7.widget.Toolbar;
- import android.util.Base64;
- import android.util.Log;
- import android.view.LayoutInflater;
- import android.view.MenuItem;
- import android.view.View;
- import android.widget.ImageView;
- import android.widget.RelativeLayout;
- import android.widget.Toast;
- import com.qldejozz.Helper.BottomNavigationViewHelper;
- import com.qldejozz.HomeHelp.HelpActivity;
- import com.qldejozz.HomeKeranjang.KeranjangActivity2;
- import com.qldejozz.KeranjangKosong;
- import com.qldejozz.MenuDialogFragment;
- import com.qldejozz.R;
- import java.io.ByteArrayInputStream;
- import java.io.ByteArrayOutputStream;
- import java.io.File;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.UnsupportedEncodingException;
- import java.net.URLEncoder;
- import java.util.HashMap;
- import de.hdodenhof.circleimageview.CircleImageView;
- import retrofit2.http.Url;
- import static com.qldejozz.Akun.Fragment.AkunMasterJobBio.arrayListBio;
- public class PengaturanAkunActivity extends AppCompatActivity {
- //Image request code
- private int PICK_IMAGE_REQUEST = 1;
- static final int REQUEST_IMAGE_CAPTURE = 1;
- //storage permission code
- private static final int STORAGE_PERMISSION_CODE = 123;
- //Bitmap to get image from gallery
- private Bitmap bitmap;
- //Uri to store the image uri
- private Uri filePath;
- Context context;
- String base64_image_1;
- Toolbar toolbar;
- private TabLayout tabLayout;
- private ViewPager viewPager;
- CircleImageView imgBio;
- private RelativeLayout rl_content_help, rl_content_menu, rl_content_keranjang, rl_content_akun, relative_home, choosePhoto;
- private void findID() {
- relative_home = findViewById(R.id.relative_home);
- rl_content_help = findViewById(R.id.rl_content_help);
- rl_content_menu = findViewById(R.id.rl_content_menu);
- rl_content_keranjang = findViewById(R.id.rl_content_keranjang);
- rl_content_akun = findViewById(R.id.rl_content_akun);
- imgBio = findViewById(R.id.imgBio);
- choosePhoto = findViewById(R.id.choosePhoto);
- }
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_pengaturan_akun);
- tabLayout = findViewById(R.id.tabs);
- tabLayout.setupWithViewPager(viewPager);
- toolbar = findViewById(R.id.toolbar);
- findID();
- toolbar.setNavigationIcon(getResources().getDrawable(R.drawable.ic_arrow_back));
- toolbar.setNavigationOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- finish();
- }
- });
- choosePhoto.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- @SuppressLint("ResourceType")
- AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(getApplicationContext());
- LayoutInflater inflater = getActivity().getLayoutInflater();
- View dialogView = inflater.inflate(R.layout.alert_upload, null);
- dialogBuilder.setView(dialogView);
- dialogBuilder.setCancelable(true);
- dialogBuilder.setTitle("Upload Foto");
- CardView takePhoto = dialogView.findViewById(R.id.cv_takePhoto);
- CardView selectPhoto = dialogView.findViewById(R.id.cv_selectPhoto);
- final AlertDialog alertDialog = dialogBuilder.create();
- alertDialog.show();
- alertDialog.setCancelable(true);
- alertDialog.setCanceledOnTouchOutside(true);
- takePhoto.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- dispatchTakePictureIntent();
- alertDialog.dismiss();
- }
- });
- selectPhoto.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- showFileChooser();
- alertDialog.dismiss();
- }
- });
- }
- });
- BottomNavigationView navigation = findViewById(R.id.bottonNavAkun);
- // navigation.getMenu().getItem(0).setCheckable(false);
- BottomNavigationViewHelper.disableShiftMode(navigation);
- navigation.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
- @Override
- public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
- switch (menuItem.getItemId()) {
- case R.id.akunNavHome:
- // relative_home.setVisibility(View.VISIBLE);
- // rl_content_help.setVisibility(View.GONE);
- // rl_content_menu.setVisibility(View.GONE);
- // rl_content_keranjang.setVisibility(View.GONE);
- // rl_content_akun.setVisibility(View.GONE);
- return true;
- case R.id.akunNavHelp:
- Intent intent2 = new Intent(PengaturanAkunActivity.this, HelpActivity.class);
- startActivity(intent2);
- return true;
- case R.id.akunNavMenu:
- MenuDialogFragment mMenuDialogFragment = new MenuDialogFragment();
- FragmentManager mFragmentManager = getSupportFragmentManager();
- mMenuDialogFragment.show(mFragmentManager, MenuDialogFragment.class.getSimpleName());
- return true;
- case R.id.akunNavKeranjang:
- Intent intent3 = new Intent(PengaturanAkunActivity.this, KeranjangKosong.class);
- startActivity(intent3);
- return true;
- case R.id.akunNavAkun:
- Intent intent4 = new Intent(PengaturanAkunActivity.this, AkunActivity.class);
- startActivity(intent4);
- return true;
- }
- return false;
- }
- });
- }
- private void dispatchTakePictureIntent() {
- Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
- if (takePictureIntent.resolveActivity(getActivity().getPackageManager()) != null) {
- startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
- }
- }
- //method to show file chooser
- private void showFileChooser() {
- Intent intent = new Intent();
- intent.setType("image/*");
- intent.setAction(Intent.ACTION_GET_CONTENT);
- startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_IMAGE_REQUEST);
- }
- //This method will be called when the user will tap on allow or deny
- @Override
- public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
- //Checking the request code of our request
- if (requestCode == STORAGE_PERMISSION_CODE) {
- //If permission is granted
- if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
- //Displaying a toast
- Toast.makeText(getApplicationContext(), "Permission granted now you can read the storage", Toast.LENGTH_LONG).show();
- } else {
- //Displaying another toast if permission is not granted
- Toast.makeText(getApplicationContext(), "Oops you just denied the permission", Toast.LENGTH_LONG).show();
- }
- }
- }
- //handling the image chooser activity result
- @Override
- public void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK && data != null && data.getData() != null) {
- filePath = data.getData();
- Bitmap bm = null;
- if (data != null) {
- try {
- bm = MediaStore.Images.Media.getBitmap(getApplicationContext().getContentResolver(), data.getData());
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
- assert bm != null;
- bm.compress(Bitmap.CompressFormat.JPEG, 1, byteArrayOutputStream);
- try {
- base64_image_1 = URLEncoder.encode(Base64.encodeToString(byteArrayOutputStream.toByteArray(), Base64.DEFAULT), "UTF-8");
- String base64_image_2 = URLEncoder.encode(Base64.encodeToString(byteArrayOutputStream.toByteArray(), Base64.NO_WRAP), "UTF-8");
- Log.e("base64_image_2: ", base64_image_2);
- for (int a = 0; a < arrayListBio.size(); a++) {
- if (!String.valueOf(arrayListBio.get(a).get("personstartdate")).equals("")) {
- HashMap<String, String> hashMap2 = arrayListBio.get(a);//update a hashmap to store the data in key value pair
- hashMap2.put("personpicture1", base64_image_1);
- }
- }
- Log.e("base64_image_1", base64_image_1);
- Log.e("base64_image_1_length", String.valueOf(base64_image_1.length()));
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- try {
- bitmap = MediaStore.Images.Media.getBitmap(getApplicationContext().getContentResolver(), filePath);
- imgBio.setImageBitmap(bitmap);
- } catch (IOException e) {
- e.printStackTrace();
- }
- } else if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
- Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
- ByteArrayOutputStream bytes = new ByteArrayOutputStream();
- assert thumbnail != null;
- thumbnail.compress(Bitmap.CompressFormat.JPEG, 1, bytes);
- File destination = new File(Environment.getExternalStorageDirectory(),
- System.currentTimeMillis() + ".jpg");
- FileOutputStream fo;
- // try {
- // destination.createNewFile();
- // fo = new FileOutputStream(destination);
- // fo.write(bytes.toByteArray());
- // fo.close();
- // } catch (FileNotFoundException e) {
- // e.printStackTrace();
- // } catch (IOException e) {
- // e.printStackTrace();
- // }
- try {
- base64_image_1 = URLEncoder.encode(Base64.encodeToString(bytes.toByteArray(), Base64.DEFAULT), "UTF-8");
- String base64_image_2 = URLEncoder.encode(Base64.encodeToString(bytes.toByteArray(), Base64.NO_WRAP), "UTF-8");
- Log.e("base64_image_2: ", base64_image_2);
- Log.e("base64_image_1_length", String.valueOf(base64_image_1.length()));
- for (int a = 0; a < arrayListBio.size(); a++) {
- if (!String.valueOf(arrayListBio.get(a).get("personstartdate")).equals("")) {
- HashMap<String, String> hashMap2 = arrayListBio.get(a);//update a hashmap to store the data in key value pair
- hashMap2.put("personpicture1", base64_image_1);
- }
- }
- Log.e("base64_image_1", base64_image_1);
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- Log.e("base64_image_1", base64_image_1);
- Log.e("base64_image_1_length", String.valueOf(base64_image_1.length()));
- Bundle extras = data.getExtras();
- Bitmap imageBitmap = (Bitmap) extras.get("data");
- imgBio.setImageBitmap(imageBitmap);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement