Advertisement
Raditya48

PengaturanAkun.java

Feb 18th, 2019
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.05 KB | None | 0 0
  1. package com.qldejozz.Home.Akun;
  2.  
  3. import android.annotation.SuppressLint;
  4. import android.app.Activity;
  5. import android.content.Context;
  6. import android.content.DialogInterface;
  7. import android.content.Intent;
  8. import android.content.pm.PackageManager;
  9. import android.graphics.Bitmap;
  10. import android.graphics.BitmapFactory;
  11. import android.net.Uri;
  12. import android.os.Environment;
  13. import android.provider.MediaStore;
  14. import android.support.annotation.NonNull;
  15. import android.support.annotation.Nullable;
  16. import android.support.design.widget.BottomNavigationView;
  17. import android.support.design.widget.TabLayout;
  18. import android.support.v4.app.FragmentManager;
  19. import android.support.v4.view.ViewPager;
  20. import android.support.v7.app.AlertDialog;
  21. import android.support.v7.app.AppCompatActivity;
  22. import android.os.Bundle;
  23. import android.support.v7.widget.CardView;
  24. import android.support.v7.widget.Toolbar;
  25. import android.util.Base64;
  26. import android.util.Log;
  27. import android.view.LayoutInflater;
  28. import android.view.MenuItem;
  29. import android.view.View;
  30. import android.widget.ImageView;
  31. import android.widget.RelativeLayout;
  32. import android.widget.Toast;
  33.  
  34. import com.qldejozz.Helper.BottomNavigationViewHelper;
  35. import com.qldejozz.HomeHelp.HelpActivity;
  36. import com.qldejozz.HomeKeranjang.KeranjangActivity2;
  37. import com.qldejozz.KeranjangKosong;
  38. import com.qldejozz.MenuDialogFragment;
  39. import com.qldejozz.R;
  40.  
  41. import java.io.ByteArrayInputStream;
  42. import java.io.ByteArrayOutputStream;
  43. import java.io.File;
  44. import java.io.FileOutputStream;
  45. import java.io.IOException;
  46. import java.io.UnsupportedEncodingException;
  47. import java.net.URLEncoder;
  48. import java.util.HashMap;
  49.  
  50. import de.hdodenhof.circleimageview.CircleImageView;
  51. import retrofit2.http.Url;
  52.  
  53. import static com.qldejozz.Akun.Fragment.AkunMasterJobBio.arrayListBio;
  54.  
  55. public class PengaturanAkunActivity extends AppCompatActivity {
  56. //Image request code
  57. private int PICK_IMAGE_REQUEST = 1;
  58. static final int REQUEST_IMAGE_CAPTURE = 1;
  59. //storage permission code
  60. private static final int STORAGE_PERMISSION_CODE = 123;
  61. //Bitmap to get image from gallery
  62. private Bitmap bitmap;
  63. //Uri to store the image uri
  64. private Uri filePath;
  65. Context context;
  66. String base64_image_1;
  67.  
  68. Toolbar toolbar;
  69. private TabLayout tabLayout;
  70. private ViewPager viewPager;
  71. CircleImageView imgBio;
  72. private RelativeLayout rl_content_help, rl_content_menu, rl_content_keranjang, rl_content_akun, relative_home, choosePhoto;
  73.  
  74. private void findID() {
  75. relative_home = findViewById(R.id.relative_home);
  76. rl_content_help = findViewById(R.id.rl_content_help);
  77. rl_content_menu = findViewById(R.id.rl_content_menu);
  78. rl_content_keranjang = findViewById(R.id.rl_content_keranjang);
  79. rl_content_akun = findViewById(R.id.rl_content_akun);
  80. imgBio = findViewById(R.id.imgBio);
  81. choosePhoto = findViewById(R.id.choosePhoto);
  82. }
  83.  
  84. @Override
  85. protected void onCreate(Bundle savedInstanceState) {
  86. super.onCreate(savedInstanceState);
  87. setContentView(R.layout.activity_pengaturan_akun);
  88.  
  89. tabLayout = findViewById(R.id.tabs);
  90. tabLayout.setupWithViewPager(viewPager);
  91.  
  92. toolbar = findViewById(R.id.toolbar);
  93. findID();
  94.  
  95. toolbar.setNavigationIcon(getResources().getDrawable(R.drawable.ic_arrow_back));
  96. toolbar.setNavigationOnClickListener(new View.OnClickListener() {
  97. @Override
  98. public void onClick(View v) {
  99. finish();
  100. }
  101. });
  102.  
  103. choosePhoto.setOnClickListener(new View.OnClickListener() {
  104. @Override
  105. public void onClick(View view) {
  106. @SuppressLint("ResourceType")
  107. AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(getApplicationContext());
  108. LayoutInflater inflater = getActivity().getLayoutInflater();
  109. View dialogView = inflater.inflate(R.layout.alert_upload, null);
  110. dialogBuilder.setView(dialogView);
  111. dialogBuilder.setCancelable(true);
  112. dialogBuilder.setTitle("Upload Foto");
  113.  
  114. CardView takePhoto = dialogView.findViewById(R.id.cv_takePhoto);
  115. CardView selectPhoto = dialogView.findViewById(R.id.cv_selectPhoto);
  116.  
  117. final AlertDialog alertDialog = dialogBuilder.create();
  118. alertDialog.show();
  119. alertDialog.setCancelable(true);
  120. alertDialog.setCanceledOnTouchOutside(true);
  121. takePhoto.setOnClickListener(new View.OnClickListener() {
  122. @Override
  123. public void onClick(View v) {
  124. dispatchTakePictureIntent();
  125. alertDialog.dismiss();
  126. }
  127. });
  128. selectPhoto.setOnClickListener(new View.OnClickListener() {
  129. @Override
  130. public void onClick(View v) {
  131. showFileChooser();
  132. alertDialog.dismiss();
  133. }
  134. });
  135. }
  136. });
  137.  
  138. BottomNavigationView navigation = findViewById(R.id.bottonNavAkun);
  139. // navigation.getMenu().getItem(0).setCheckable(false);
  140. BottomNavigationViewHelper.disableShiftMode(navigation);
  141. navigation.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
  142. @Override
  143. public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
  144. switch (menuItem.getItemId()) {
  145. case R.id.akunNavHome:
  146. // relative_home.setVisibility(View.VISIBLE);
  147. // rl_content_help.setVisibility(View.GONE);
  148. // rl_content_menu.setVisibility(View.GONE);
  149. // rl_content_keranjang.setVisibility(View.GONE);
  150. // rl_content_akun.setVisibility(View.GONE);
  151. return true;
  152. case R.id.akunNavHelp:
  153. Intent intent2 = new Intent(PengaturanAkunActivity.this, HelpActivity.class);
  154. startActivity(intent2);
  155. return true;
  156.  
  157. case R.id.akunNavMenu:
  158. MenuDialogFragment mMenuDialogFragment = new MenuDialogFragment();
  159. FragmentManager mFragmentManager = getSupportFragmentManager();
  160. mMenuDialogFragment.show(mFragmentManager, MenuDialogFragment.class.getSimpleName());
  161. return true;
  162.  
  163. case R.id.akunNavKeranjang:
  164. Intent intent3 = new Intent(PengaturanAkunActivity.this, KeranjangKosong.class);
  165. startActivity(intent3);
  166. return true;
  167.  
  168. case R.id.akunNavAkun:
  169. Intent intent4 = new Intent(PengaturanAkunActivity.this, AkunActivity.class);
  170. startActivity(intent4);
  171. return true;
  172. }
  173. return false;
  174. }
  175. });
  176. }
  177.  
  178. private void dispatchTakePictureIntent() {
  179.  
  180. Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
  181. if (takePictureIntent.resolveActivity(getActivity().getPackageManager()) != null) {
  182. startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
  183. }
  184. }
  185.  
  186. //method to show file chooser
  187. private void showFileChooser() {
  188. Intent intent = new Intent();
  189. intent.setType("image/*");
  190. intent.setAction(Intent.ACTION_GET_CONTENT);
  191. startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_IMAGE_REQUEST);
  192. }
  193.  
  194. //This method will be called when the user will tap on allow or deny
  195. @Override
  196. public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
  197.  
  198. //Checking the request code of our request
  199. if (requestCode == STORAGE_PERMISSION_CODE) {
  200.  
  201. //If permission is granted
  202. if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
  203. //Displaying a toast
  204. Toast.makeText(getApplicationContext(), "Permission granted now you can read the storage", Toast.LENGTH_LONG).show();
  205. } else {
  206. //Displaying another toast if permission is not granted
  207. Toast.makeText(getApplicationContext(), "Oops you just denied the permission", Toast.LENGTH_LONG).show();
  208. }
  209. }
  210. }
  211.  
  212. //handling the image chooser activity result
  213. @Override
  214. public void onActivityResult(int requestCode, int resultCode, Intent data) {
  215. super.onActivityResult(requestCode, resultCode, data);
  216.  
  217. if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK && data != null && data.getData() != null) {
  218. filePath = data.getData();
  219. Bitmap bm = null;
  220. if (data != null) {
  221. try {
  222. bm = MediaStore.Images.Media.getBitmap(getApplicationContext().getContentResolver(), data.getData());
  223. } catch (IOException e) {
  224. e.printStackTrace();
  225. }
  226. }
  227.  
  228. ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
  229. assert bm != null;
  230. bm.compress(Bitmap.CompressFormat.JPEG, 1, byteArrayOutputStream);
  231.  
  232. try {
  233. base64_image_1 = URLEncoder.encode(Base64.encodeToString(byteArrayOutputStream.toByteArray(), Base64.DEFAULT), "UTF-8");
  234. String base64_image_2 = URLEncoder.encode(Base64.encodeToString(byteArrayOutputStream.toByteArray(), Base64.NO_WRAP), "UTF-8");
  235. Log.e("base64_image_2: ", base64_image_2);
  236. for (int a = 0; a < arrayListBio.size(); a++) {
  237. if (!String.valueOf(arrayListBio.get(a).get("personstartdate")).equals("")) {
  238. HashMap<String, String> hashMap2 = arrayListBio.get(a);//update a hashmap to store the data in key value pair
  239. hashMap2.put("personpicture1", base64_image_1);
  240. }
  241. }
  242.  
  243. Log.e("base64_image_1", base64_image_1);
  244. Log.e("base64_image_1_length", String.valueOf(base64_image_1.length()));
  245. } catch (UnsupportedEncodingException e) {
  246. e.printStackTrace();
  247. }
  248. try {
  249. bitmap = MediaStore.Images.Media.getBitmap(getApplicationContext().getContentResolver(), filePath);
  250. imgBio.setImageBitmap(bitmap);
  251.  
  252. } catch (IOException e) {
  253. e.printStackTrace();
  254. }
  255.  
  256. } else if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
  257. Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
  258. ByteArrayOutputStream bytes = new ByteArrayOutputStream();
  259. assert thumbnail != null;
  260. thumbnail.compress(Bitmap.CompressFormat.JPEG, 1, bytes);
  261. File destination = new File(Environment.getExternalStorageDirectory(),
  262. System.currentTimeMillis() + ".jpg");
  263. FileOutputStream fo;
  264. // try {
  265. // destination.createNewFile();
  266. // fo = new FileOutputStream(destination);
  267. // fo.write(bytes.toByteArray());
  268. // fo.close();
  269. // } catch (FileNotFoundException e) {
  270. // e.printStackTrace();
  271. // } catch (IOException e) {
  272. // e.printStackTrace();
  273. // }
  274. try {
  275. base64_image_1 = URLEncoder.encode(Base64.encodeToString(bytes.toByteArray(), Base64.DEFAULT), "UTF-8");
  276. String base64_image_2 = URLEncoder.encode(Base64.encodeToString(bytes.toByteArray(), Base64.NO_WRAP), "UTF-8");
  277. Log.e("base64_image_2: ", base64_image_2);
  278. Log.e("base64_image_1_length", String.valueOf(base64_image_1.length()));
  279. for (int a = 0; a < arrayListBio.size(); a++) {
  280. if (!String.valueOf(arrayListBio.get(a).get("personstartdate")).equals("")) {
  281. HashMap<String, String> hashMap2 = arrayListBio.get(a);//update a hashmap to store the data in key value pair
  282. hashMap2.put("personpicture1", base64_image_1);
  283. }
  284. }
  285.  
  286. Log.e("base64_image_1", base64_image_1);
  287. } catch (UnsupportedEncodingException e) {
  288. e.printStackTrace();
  289. }
  290. Log.e("base64_image_1", base64_image_1);
  291. Log.e("base64_image_1_length", String.valueOf(base64_image_1.length()));
  292. Bundle extras = data.getExtras();
  293. Bitmap imageBitmap = (Bitmap) extras.get("data");
  294. imgBio.setImageBitmap(imageBitmap);
  295.  
  296. }
  297. }
  298. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement