package
com.anas.memeshareapp;
import
androidx.annotation.Nullable;
import
androidx.appcompat.app.AppCompatActivity;
import
android.content.Intent;
import
android.graphics.Bitmap;
import
android.graphics.drawable.BitmapDrawable;
import
android.graphics.drawable.Drawable;
import
android.net.Uri;
import
android.os.Bundle;
import
android.provider.MediaStore;
import
android.view.View;
import
android.widget.Button;
import
android.widget.ImageView;
import
com.android.volley.Request;
import
com.android.volley.Response;
import
com.android.volley.VolleyError;
import
com.android.volley.toolbox.JsonObjectRequest;
import
com.bumptech.glide.Glide;
import
com.bumptech.glide.load.DataSource;
import
com.bumptech.glide.load.engine.GlideException;
import
com.bumptech.glide.request.RequestListener;
import
com.bumptech.glide.request.target.Target;
import
org.json.JSONException;
import
org.json.JSONObject;
public
class
MainActivity
extends
AppCompatActivity {
ImageView imgMeme;
ImageView btnNext;
ImageView btnShare;
String url ;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imgMeme = findViewById(R.id.imgMeme);
btnNext = findViewById(R.id.btnNext);
btnShare = findViewById(R.id.btnShare);
apiCall();
btnNext.setOnClickListener(
new
View.OnClickListener() {
@Override
public
void
onClick(View v) {
apiCall();
}
});
btnShare.setOnClickListener(
new
View.OnClickListener() {
@Override
public
void
onClick(View v) {
BitmapDrawable bitmapDrawable = (BitmapDrawable) imgMeme.getDrawable();
Bitmap bitmap = bitmapDrawable.getBitmap();
String bitmapPath = MediaStore.Images.Media.insertImage(getContentResolver(),bitmap,
"Title"
,
null
);
Uri uri = Uri.parse(bitmapPath);
Intent intent =
new
Intent(Intent.ACTION_SEND);
intent.setType(
"image/*"
);
intent.putExtra(Intent.EXTRA_STREAM,uri);
startActivity(Intent.createChooser(intent,
"share to :"
));
}
});
}
public
void
apiCall(){
JsonObjectRequest jsonObjectRequest =
new
JsonObjectRequest
(Request.Method.GET, url,
null
,
new
Response.Listener<JSONObject>() {
@Override
public
void
onResponse(JSONObject response) {
try
{
url = response.getString(
"url"
);
Glide.with(MainActivity.
this
).load(url).into(imgMeme);
}
catch
(JSONException e){
e.printStackTrace();
}
}
},
new
Response.ErrorListener() {
@Override
public
void
onErrorResponse(VolleyError error) {
}
});
MySingleton.getInstance(
this
).addToRequestQueue(jsonObjectRequest);
}
}