NotesWhat is notes.io?

Notes brand slogan

Notes - notes.io

package com.ririoapps.football.activities;


import android.Manifest;
import android.annotation.TargetApi;
import android.app.ProgressDialog;
import android.app.WallpaperManager;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.media.MediaScannerConnection;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.os.Parcelable;
import android.os.StrictMode;
import android.provider.Settings;
import android.support.annotation.Nullable;
import android.support.v4.content.ContextCompat;
import android.support.v4.content.FileProvider;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;

import com.android.volley.DefaultRetryPolicy;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonObjectRequest;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
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.RequestOptions;
import com.bumptech.glide.request.target.Target;
import com.ririoapps.football.BuildConfig;
import com.ririoapps.football.Config;
import com.ririoapps.football.R;
import com.ririoapps.football.adapters.AdapterRecent;
import com.ririoapps.football.adapters.PremiumWalllpaperAdpter;
import com.ririoapps.football.database.DatabaseHandlerFavorite;
import com.ririoapps.football.database.DatabaseHandlerFavorite.DatabaseManager;
import com.ririoapps.football.models.ItemRecent;
import com.ririoapps.football.models.Pojo;
import com.ririoapps.football.tab.UtilsAds;
import com.ririoapps.football.utilities.Constant;
import com.ririoapps.football.utilities.SharedPrefrenceHelper;
import com.ririoapps.football.utilities.Utils;
import com.google.android.gms.ads.AdListener;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.InterstitialAd;
import com.google.android.gms.ads.MobileAds;
import com.google.firebase.analytics.FirebaseAnalytics;
import com.karumi.dexter.Dexter;
import com.karumi.dexter.MultiplePermissionsReport;
import com.karumi.dexter.PermissionToken;
import com.karumi.dexter.listener.DexterError;
import com.karumi.dexter.listener.PermissionRequest;
import com.karumi.dexter.listener.PermissionRequestErrorListener;
import com.karumi.dexter.listener.multi.MultiplePermissionsListener;
import com.like.LikeButton;
import com.like.OnLikeListener;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
import com.omega_r.libs.omegaintentbuilder.OmegaIntentBuilder;
import com.omega_r.libs.omegaintentbuilder.downloader.DownloadCallback;
import com.omega_r.libs.omegaintentbuilder.handlers.ContextIntentHandler;
import com.squareup.picasso.Callback;
import com.squareup.picasso.Picasso;

import org.jetbrains.annotations.NotNull;
import org.json.JSONException;
import org.json.JSONObject;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import static com.ririoapps.football.Config.DOWNLOAD_LIMIT_FEATURE_ENABLE_STATUS;
import static com.ririoapps.football.utilities.Utils.getBitmapFromURL;
import static com.ririoapps.football.utilities.Utils.getImageUri;

public class NewActivitySlideImage extends AppCompatActivity implements SensorEventListener {

int position;
List<ItemRecent> listItemRecent = AdapterRecent.staticarrayItemRecent;
public DatabaseHandlerFavorite databaseHandlerFavorite;
ViewPager viewPager;
int total_images;
private SensorManager sensorManager;
private boolean checkImage = false;
private long lastUpdate;
Handler handler;
Runnable runnable;
boolean Play_Flag = false;
private Menu menu;
private DatabaseManager databaseManager;
String image_cat_name, image_url, view_count;
DisplayImageOptions options;
private AdView adView;
private InterstitialAd interstitialAd;
private ImageButton set_as_wallpaper, save;
private LikeButton share;
private Toolbar toolbar;
private TextView tvView;
private SharedPrefrenceHelper sharedPrefrenceHelper;
private Date currentTime;
private SimpleDateFormat sdf = new SimpleDateFormat("yyyy:MM:dd:HH:mm");
private AlertDialog alertDialog;
private boolean isUpdateDownload = DOWNLOAD_LIMIT_FEATURE_ENABLE_STATUS;
private int download_count2 = 0;
private int requestMode = 0;


@Override
public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_slider_image);

final int pos = getIntent().getIntExtra("POSITION_ID", 0);

viewPager = findViewById(R.id.image_slider);

toolbar = findViewById(R.id.toolbar);
toolbar.setTitleTextColor(Color.parseColor("#ffffff"));
tvView = (TextView) toolbar.findViewById(R.id.tvView);
if (getIntent().hasExtra("id")) {
getImageById(getIntent().getStringExtra("id"));

} else {
if (getIntent().hasExtra("migratedFrom")) {
if (getIntent().getStringExtra("migratedFrom").equals("premium")) {
if (listItemRecent != null) {
listItemRecent.clear();
listItemRecent = PremiumWalllpaperAdpter.selectedItem;

}
}
} else {
listItemRecent = getIntent().getParcelableArrayListExtra("images");
position = pos;
if (listItemRecent != null) {
if (listItemRecent.size() > 0) {
if (listItemRecent.get(0).isAd()) {
listItemRecent.remove(0);
position = pos - 1;
}
}
}
}
toolbar.setTitle(listItemRecent.get(position).getCategoryName());
ImagePagerAdapter adapter = new ImagePagerAdapter();
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(position);
tvView.setText(Utils.format(Long.parseLong(listItemRecent.get(position).getView_count())));
callViewCount(listItemRecent.get(position).getImage_id());
}

sharedPrefrenceHelper = new SharedPrefrenceHelper(NewActivitySlideImage.this);
interstitialAd = new InterstitialAd(getApplicationContext());
interstitialAd.setAdUnitId(getResources().getString(R.string.admob_interstitial_unit_id));
interstitialAd.loadAd(new AdRequest.Builder().build());
interstitialAd.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
interstitialAd.loadAd(new AdRequest.Builder().build());
}
});
setSupportActionBar(toolbar);

final ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
databaseHandlerFavorite = new DatabaseHandlerFavorite(this);
databaseManager = DatabaseManager.INSTANCE;
databaseManager.init(getApplicationContext());
options = new DisplayImageOptions.Builder()
.showImageForEmptyUri(R.drawable.ic_thumbnail)
.showImageOnFail(R.drawable.ic_thumbnail)
.resetViewBeforeLoading(true)
.cacheOnDisc(false)
.imageScaleType(ImageScaleType.NONE)
.bitmapConfig(Bitmap.Config.RGB_565)
.considerExifParams(false)
.build();


final AdView mAdView = (AdView) findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);


final Handler handlerRefreshat5 = new Handler();

if (!UtilsAds.adVisibleBoolean) {
mAdView.setVisibility(View.GONE);
} else {
mAdView.setVisibility(View.VISIBLE);
}


set_as_wallpaper = findViewById(R.id.fab_set_as_wallpaper);
share = findViewById(R.id.fab_share);
save = findViewById(R.id.fab_save);

findViewById(R.id.fab_share2).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
position = viewPager.getCurrentItem();
image_url = listItemRecent.get(position).getImageurl();
new OmegaIntentBuilder(NewActivitySlideImage.this)
.share()
.filesUrls(Config.ADMIN_PANEL_URL + "/upload/" + image_url.replace(" ", "%20"))
.download(new DownloadCallback() {
@Override
public void onDownloaded(boolean success, @NotNull ContextIntentHandler contextIntentHandler) {
contextIntentHandler.startActivity();
}
});
showInterstitialAd();
}
});

set_as_wallpaper.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {


int hasPermission = ContextCompat.checkSelfPermission(NewActivitySlideImage.this, Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (hasPermission == PackageManager.PERMISSION_GRANTED) {
//Do smthng
position = viewPager.getCurrentItem();
new SetImagesAs().execute(Config.ADMIN_PANEL_URL + "/upload/" + listItemRecent.get(position).getImageurl());
} else {
requestMode = 1;
requestStoragePermission();
}


}
});


share.setOnLikeListener(new OnLikeListener() {
@Override
public void liked(LikeButton likeButton) {
int count = sharedPrefrenceHelper.getInt(Constant.FAVOURITE_COUNT) + 1;
sharedPrefrenceHelper.saveInt(Constant.FAVOURITE_COUNT, count);

if (count % Config.INTERSITIAL_AD_AFTER_NO_FAV == 0) {
showInterstitialAd();
}


position = viewPager.getCurrentItem();
image_url = listItemRecent.get(position).getImageurl();
List<Pojo> list = databaseHandlerFavorite.getFavRow(image_url);
if (list.size() == 0) {
addtoFav(position);
}
}

@Override
public void unLiked(LikeButton likeButton) {
int count = sharedPrefrenceHelper.getInt(Constant.FAVOURITE_COUNT) + 1;
sharedPrefrenceHelper.saveInt(Constant.FAVOURITE_COUNT, count);

if (count % Config.INTERSITIAL_AD_AFTER_NO_FAV == 0) {
showInterstitialAd();
}


position = viewPager.getCurrentItem();
image_url = listItemRecent.get(position).getImageurl();
List<Pojo> list = databaseHandlerFavorite.getFavRow(image_url);
if (list.size() != 0) {
RemoveFav(position);
}
}
});


save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {


int hasPermission = ContextCompat.checkSelfPermission(NewActivitySlideImage.this, Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (hasPermission == PackageManager.PERMISSION_GRANTED) {

if (isUpdateDownload) {
if (sharedPrefrenceHelper.getInt(Constant.SET_AS_DOWNLOAD_COUNT) > Config.DOWNLOAD_IMG || download_count2 > Config.DOWNLOAD_IMG) {
currentTime = Calendar.getInstance().getTime();


Date downloadDate = null;
try {
downloadDate = sdf.parse(sharedPrefrenceHelper.getString(Constant.DOWNLOAD_TIME));
} catch (ParseException e) {
e.printStackTrace();
}

String currentDateandTime = sdf.format(downloadDate);
Date date = null;
try {
date = sdf.parse(currentDateandTime);
} catch (ParseException e) {
e.printStackTrace();
}
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.MINUTE, Config.DOWNLOAD_TIME_GAP);


if (currentTime.after(downloadDate) && currentTime.before(calendar.getTime())) {
showPopup();
} else {
int count = 0 + 1;
sharedPrefrenceHelper.saveInt(Constant.DOWNLOAD_COUNT, count);

int download_count = 0 + 1;
sharedPrefrenceHelper.saveInt(Constant.SET_AS_DOWNLOAD_COUNT, download_count);

download_count2 = download_count;

String downloadTime = sdf.format(new Date());

sharedPrefrenceHelper.saveString(Constant.DOWNLOAD_TIME, downloadTime);

if (count % Config.INTERSITIAL_AD_AFTER_NO_DOWNLOAD == 0) {
showInterstitialAd();
}

position = viewPager.getCurrentItem();

(new SaveImagePNG(NewActivitySlideImage.this)).execute(Config.ADMIN_PANEL_URL + "/upload/" + listItemRecent.get(position).getImageurl());
if (listItemRecent.get(position).getImageurl().endsWith(".png")) {
// (new SaveImagePNG(NewActivitySlideImage.this)).execute(Config.ADMIN_PANEL_URL + "/upload/" + listItemRecent.get(position).getImageurl());
} else {
// (new SaveImageJPG(NewActivitySlideImage.this)).execute(Config.ADMIN_PANEL_URL + "/upload/" + listItemRecent.get(position).getImageurl());
}
}
} else {
int count = sharedPrefrenceHelper.getInt(Constant.DOWNLOAD_COUNT) + 1;
sharedPrefrenceHelper.saveInt(Constant.DOWNLOAD_COUNT, count);

int download_count = sharedPrefrenceHelper.getInt(Constant.SET_AS_DOWNLOAD_COUNT) + 1;
sharedPrefrenceHelper.saveInt(Constant.SET_AS_DOWNLOAD_COUNT, download_count);

download_count2 = download_count;

String downloadTime = sdf.format(new Date());

sharedPrefrenceHelper.saveString(Constant.DOWNLOAD_TIME, downloadTime);

if (count % Config.INTERSITIAL_AD_AFTER_NO_DOWNLOAD == 0) {
showInterstitialAd();
}

position = viewPager.getCurrentItem();

(new SaveImagePNG(NewActivitySlideImage.this)).execute(Config.ADMIN_PANEL_URL + "/upload/" + listItemRecent.get(position).getImageurl());
if (listItemRecent.get(position).getImageurl().endsWith(".png")) {
// (new SaveImagePNG(NewActivitySlideImage.this)).execute(Config.ADMIN_PANEL_URL + "/upload/" + listItemRecent.get(position).getImageurl());
} else {
// (new SaveImageJPG(NewActivitySlideImage.this)).execute(Config.ADMIN_PANEL_URL + "/upload/" + listItemRecent.get(position).getImageurl());
}
}


} else {
int count = sharedPrefrenceHelper.getInt(Constant.DOWNLOAD_COUNT) + 1;
sharedPrefrenceHelper.saveInt(Constant.DOWNLOAD_COUNT, count);

int download_count = sharedPrefrenceHelper.getInt(Constant.SET_AS_DOWNLOAD_COUNT) + 1;
sharedPrefrenceHelper.saveInt(Constant.SET_AS_DOWNLOAD_COUNT, download_count);

String downloadTime = sdf.format(new Date());

sharedPrefrenceHelper.saveString(Constant.DOWNLOAD_TIME, downloadTime);

if (count % Config.INTERSITIAL_AD_AFTER_NO_DOWNLOAD == 0) {
showInterstitialAd();
}

position = viewPager.getCurrentItem();

(new SaveImagePNG(NewActivitySlideImage.this)).execute(Config.ADMIN_PANEL_URL + "/upload/" + listItemRecent.get(position).getImageurl());
if (listItemRecent.get(position).getImageurl().endsWith(".png")) {
// (new SaveImagePNG(NewActivitySlideImage.this)).execute(Config.ADMIN_PANEL_URL + "/upload/" + listItemRecent.get(position).getImageurl());
} else {
// (new SaveImageJPG(NewActivitySlideImage.this)).execute(Config.ADMIN_PANEL_URL + "/upload/" + listItemRecent.get(position).getImageurl());
}
}
} else {
requestMode = 2;
requestStoragePermission();
}


}
});

/* Intent i = getIntent();
position = i.getIntExtra("POSITION_ID", 0);*/


if (listItemRecent != null) {
total_images = listItemRecent.size() - 1;
}

handler = new Handler();



sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
lastUpdate = System.currentTimeMillis();

viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {

@Override
public void onPageSelected(int position) {


int count = sharedPrefrenceHelper.getInt(Constant.IMAGE_SLIDE_COUNT) + 1;
sharedPrefrenceHelper.saveInt(Constant.IMAGE_SLIDE_COUNT, count);

if (count % Config.INTERSITIAL_AD_AFTER_NO_IMAGE_SLIDE == 0) {
showInterstitialAd();
}


position = viewPager.getCurrentItem();
image_url = listItemRecent.get(position).getImageurl();
toolbar.setTitle(listItemRecent.get(position).getCategoryName());
//tvToolbar.setText(listItemRecent.get(position).getCategoryName());
tvView.setText(Utils.format(Long.parseLong(listItemRecent.get(position).getView_count())));
callViewCount(listItemRecent.get(position).getImage_id());

List<Pojo> list = databaseHandlerFavorite.getFavRow(image_url);
if (list.size() == 0) {
// menu.getItem(0).setIcon(ContextCompat.getDrawable(getApplicationContext(), R.drawable.ic_toolbar_unlove));
// share.setBackgroundResource(R.drawable.ic_toolbar_unlove);
share.setLiked(false);

} else {
if (list.get(0).getImageurl().equals(image_url)) {
// menu.getItem(0).setIcon(ContextCompat.getDrawable(getApplicationContext(), R.drawable.ic_toolbar_love));
// share.setBackgroundResource(R.drawable.ic_toolbar_love);
share.setLiked(true);
}
}

}

@Override
public void onPageScrolled(int arg0, float arg1, int position) {


}

@Override
public void onPageScrollStateChanged(int position) {


}
});


}


private class SetImagesAs extends AsyncTask<String, Void, Bitmap> {

@Override
protected void onPreExecute() {
super.onPreExecute();
// Create a progressdialog
}

@Override
protected Bitmap doInBackground(String... URL) {

String imageURL = URL[0];

Bitmap bitmap = null;
bitmap = Utils.getBitmapFromURL(imageURL);
return bitmap;
}

@Override
protected void onPostExecute(Bitmap result) {
Bitmap bitmap = result;
Intent intent = new Intent(Intent.ACTION_ATTACH_DATA);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.setDataAndType(getImageUri(NewActivitySlideImage.this, bitmap), "image/jpeg");
intent.putExtra("mimeType", "image/jpeg");
startActivity(Intent.createChooser(intent, "Set as:"));
int count = sharedPrefrenceHelper.getInt(Constant.SET_AS_WALLPAER_COUNT) + 1;
sharedPrefrenceHelper.saveInt(Constant.SET_AS_WALLPAER_COUNT, count);
if (count % Config.INTERSITIAL_AD_AFTER_NO_SET_AS_WALLPAPER == 0) {
showInterstitialAd();
}
}
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_images, menu);
this.menu = menu;
//for when 1st item of view pager is favorite mode
FirstFav();
return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem menuItem) {
switch (menuItem.getItemId()) {
case android.R.id.home:
onBackPressed();
return true;

case R.id.menu_fav:
setVisible(false);
position = viewPager.getCurrentItem();

image_url = listItemRecent.get(position).getImageurl();

List<Pojo> list = databaseHandlerFavorite.getFavRow(image_url);
if (list.size() == 0) {
addtoFav(position);
} else {
if (list.get(0).getImageurl().equals(image_url)) {
RemoveFav(position);
}
}

return true;


case R.id.menu_save:

position = viewPager.getCurrentItem();
if (listItemRecent.get(position).getImageurl().endsWith(".png")) {
(new SaveImagePNG(NewActivitySlideImage.this)).execute(Config.ADMIN_PANEL_URL + "/upload/" + listItemRecent.get(position).getImageurl());
} else {
// (new SaveImageJPG(NewActivitySlideImage.this)).execute(Config.ADMIN_PANEL_URL + "/upload/" + listItemRecent.get(position).getImageurl());
}

return true;

case R.id.menu_set_as_wallpaper:

position = viewPager.getCurrentItem();
String s = Config.ADMIN_PANEL_URL + "/upload/" + listItemRecent.get(position).getImageurl().replace(" ", "%20");
new SetImagesAs().execute(s);


return true;

default:
return super.onOptionsItemSelected(menuItem);
}

}

//add to favorite
public void addtoFav(int position) {

image_cat_name = listItemRecent.get(position).getCategoryName();
image_url = listItemRecent.get(position).getImageurl();
view_count = listItemRecent.get(position).getView_count();

databaseHandlerFavorite.AddtoFavorite(new Pojo(image_cat_name, image_url, view_count, listItemRecent.get(position).getImage_id()));
Toast.makeText(getApplicationContext(), "Added to Favorite", Toast.LENGTH_SHORT).show();
share.setLiked(true);

}

//remove from favorite
public void RemoveFav(int position) {
image_url = listItemRecent.get(position).getImageurl();
databaseHandlerFavorite.RemoveFav(new Pojo(image_url));
Toast.makeText(getApplicationContext(), "Removed from Favorite", Toast.LENGTH_SHORT).show();
share.setLiked(false);

}

public void FirstFav() {
int first = viewPager.getCurrentItem();
if (listItemRecent!=null) {
String Image_id = listItemRecent.get(first).getImageurl();

List<Pojo> pojolist = databaseHandlerFavorite.getFavRow(Image_id);
if (pojolist.size() == 0) {
// menu.getItem(0).setIcon(ContextCompat.getDrawable(getApplicationContext(), R.drawable.ic_toolbar_unlove));
// share.setBackgroundResource(R.drawable.ic_toolbar_unlove);
share.setLiked(false);

} else {
if (pojolist.get(0).getImageurl().equals(Image_id)) {
// menu.getItem(0).setIcon(ContextCompat.getDrawable(getApplicationContext(), R.drawable.ic_toolbar_love));
// share.setBackgroundResource(R.drawable.ic_toolbar_love);
share.setLiked(true);

}

}
}
}

private class ImagePagerAdapter extends PagerAdapter {

private LayoutInflater inflater;

public ImagePagerAdapter() {

inflater = getLayoutInflater();
}

@Override
public int getCount() {
if (listItemRecent != null) {
return listItemRecent.size();
} else {
return 0;
}

}

@Override
public boolean isViewFromObject(View view, Object object) {
return view.equals(object);
}

@Override
public Object instantiateItem(ViewGroup container, int position) {

if (Config.ENABLE_CENTER_CROP_IN_DETAIL_WALLPAPER) {

View imageLayout = inflater.inflate(R.layout.view_pager_item_crop, container, false);
assert imageLayout != null;

TextView catnammmme = imageLayout.findViewById(R.id.catnammmme);
catnammmme.setText(listItemRecent.get(position).getCategoryName());

ImageView imageView = imageLayout.findViewById(R.id.image);
// imageView.setOnTouchListener(new ImageMatrixTouchHandler(ActivitySlideImage.this));
final ProgressBar spinner = imageLayout.findViewById(R.id.loading);

Glide.with(NewActivitySlideImage.this)
.load(Config.ADMIN_PANEL_URL + "/upload/" + listItemRecent.get(position).getImageurl().replace(" ", "%20"))
.listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
spinner.setVisibility(View.GONE);
return false;
}

@Override
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
spinner.setVisibility(View.GONE);
return false;
}
})
.apply(new RequestOptions().centerCrop().placeholder(R.drawable.ic_slider))
.into(imageView);

container.addView(imageLayout, 0);
return imageLayout;

} else {

View imageLayout = inflater.inflate(R.layout.view_pager_item, container, false);
assert imageLayout != null;
ImageView imageView = imageLayout.findViewById(R.id.image);
// imageView.setOnTouchListener(new ImageMatrixTouchHandler(ActivitySlideImage.this));
final ProgressBar spinner = imageLayout.findViewById(R.id.loading);

TextView catnammmme = imageLayout.findViewById(R.id.catnammmme);
catnammmme.setText(listItemRecent.get(position).getCategoryName());


Picasso.with(NewActivitySlideImage.this)
.load(Config.ADMIN_PANEL_URL + "/upload/" + listItemRecent.get(position).getImageurl().replace(" ", "%20"))
.placeholder(R.drawable.ic_slider)
.into(imageView, new Callback() {
@Override
public void onSuccess() {
spinner.setVisibility(View.GONE);
}

@Override
public void onError() {
spinner.setVisibility(View.GONE);
}
});

container.addView(imageLayout, 0);
return imageLayout;
}
}

@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
}

@Override
public void onAccuracyChanged(Sensor arg0, int arg1) {
}

@Override
public void onSensorChanged(SensorEvent event) {
}


@Override
protected void onResume() {
super.onResume();
if (databaseManager == null) {
databaseManager = DatabaseManager.INSTANCE;
databaseManager.init(getApplicationContext());
} else if (databaseManager.isDatabaseClosed()) {
databaseManager.init(getApplicationContext());
}
sensorManager.registerListener(this,
sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
SensorManager.SENSOR_DELAY_NORMAL);
}

@Override
protected void onPause() {
super.onPause();
if (!databaseManager.isDatabaseClosed())
databaseManager.closeDatabase();
sensorManager.unregisterListener(this);
}

@Override
public void onDestroy() {
super.onDestroy();
handler.removeCallbacks(runnable);
sensorManager.unregisterListener(this);
if (databaseManager != null) databaseManager.closeDatabase();

}

public class SaveImagePNG extends AsyncTask<String, Integer, String> {

private Context context;
private ProgressDialog pDialog;
URL myFileUrl;
Bitmap bmImg = null;
File file;

public SaveImagePNG(Context context) {
this.context = context;
}

@Override
protected void onPreExecute() {

super.onPreExecute();

pDialog = new ProgressDialog(context);
pDialog.setMessage(getResources().getString(R.string.downloading));
pDialog.setIndeterminate(false);
pDialog.setCancelable(false);
pDialog.setMax(100);
pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pDialog.show();

}

@Override
protected void onProgressUpdate(Integer... values) {
super.onProgressUpdate(values);
if (!isFinishing()) {
pDialog.setProgress(values[0]);
}
}

@Override
protected String doInBackground(String... args) {

String as[] = null;
String result = null;
int count = 0;
try {
myFileUrl = new URL(args[0]);
String path = myFileUrl.getPath();
String idStr = path.substring(path.lastIndexOf('/') + 1);
File filepath = Environment.getExternalStorageDirectory();
File dir = new File(filepath.getAbsolutePath() + "/" + getResources().getString(R.string.saved_folder_name) + "/");
dir.mkdirs();
String fileName = "Image_" + "_" + idStr;
file = new File(dir, fileName);

if (!file.exists()) {
result = "saved";
Log.e("SAVEDORNOT", "EXISTS");


URLConnection conection = myFileUrl.openConnection();
conection.connect();
// getting file length
int lenghtOfFile = conection.getContentLength();

// input stream to read file - with 8k buffer
InputStream input = new BufferedInputStream(myFileUrl.openStream(), 8192);

// Output stream to write file
OutputStream output = new FileOutputStream(file);

byte data[] = new byte[1024];
long total = 0;

while ((count = input.read(data)) != -1) {
total += count;
// publishing the progress....
// After this onProgressUpdate will be called
publishProgress((int) ((total * 100) / lenghtOfFile));

// writing data to file
output.write(data, 0, count);
}

// flushing output
output.flush();
// closing streams
output.close();
input.close();

as = new String[1];
as[0] = file.toString();

MediaScannerConnection.scanFile(NewActivitySlideImage.this, as, null, new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String s1, Uri uri) {
}
});
} else {
result = "exists";
Log.e("SAVEDORNOT", "NOEXISTS");
}
} catch (Exception e) {
Log.e("Error: ", e.getMessage());
}
return result;
}

@Override
protected void onPostExecute(String args) {
if (!isFinishing()) {
if (args.equals("saved")) {
Toast.makeText(getApplicationContext(), getResources().getString(R.string.saved_successfully), Toast.LENGTH_SHORT).show();

} else if (args.equals("exists")) {
Toast.makeText(getApplicationContext(), "Image already saved", Toast.LENGTH_SHORT).show();

}
pDialog.dismiss();
}

}
}



@Override
public void onBackPressed() {
super.onBackPressed();
}

private void showInterstitialAd() {
if (Config.ENABLE_ADMOB_INTERSTITIAL_ADS) {
if (interstitialAd.isLoaded()) {
interstitialAd.show();
}
} else {
Log.d("Fragment Category", "AdMob Interstitial is Disabled");
}
}


private void showPopup() {
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(NewActivitySlideImage.this, R.style.CustomDialogNew);
LayoutInflater inflater = getLayoutInflater();
final View dialogView = inflater.inflate(R.layout.dialog_maximum, null);
TextView tvOk = (TextView) dialogView.findViewById(R.id.tvOk);
tvOk.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
alertDialog.dismiss();


}
});


dialogBuilder.setView(dialogView);
alertDialog = dialogBuilder.create();
alertDialog.setCancelable(true);
Window window = alertDialog.getWindow();
window.setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT);
window.setGravity(Gravity.CENTER);
alertDialog.show();
}

private void callViewCount(String image_id) {

JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.GET,
Config.ADMIN_PANEL_URL + "updateviewcount.php?img_id=" + image_id, null, new Response.Listener<JSONObject>() {

@Override
public void onResponse(JSONObject response) {


}
}, new Response.ErrorListener() {

@Override
public void onErrorResponse(VolleyError error) {

}
});


jsonObjReq.setRetryPolicy(new DefaultRetryPolicy(20000,
0,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext());
requestQueue.add(jsonObjReq);
}


@TargetApi(16)
private void requestStoragePermission() {
Dexter.withActivity(NewActivitySlideImage.this)
.withPermissions(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.withListener(new MultiplePermissionsListener() {
@Override
public void onPermissionsChecked(MultiplePermissionsReport report) {
// check if all permissions are granted
if (report.areAllPermissionsGranted()) {

if (requestMode == 1) {
set_as_wallpaper.performClick();
} else if (requestMode == 2) {
save.performClick();
}

}
// check for permanent denial of any permission
if (report.isAnyPermissionPermanentlyDenied()) {
// show alert dialog navigating to Settings
showSettingsDialog();
}
}

@Override
public void onPermissionRationaleShouldBeShown(List<PermissionRequest> permissions, PermissionToken token) {
token.continuePermissionRequest();
}
}).
withErrorListener(new PermissionRequestErrorListener() {
@Override
public void onError(DexterError error) {
Toast.makeText(getApplicationContext(), "Error occurred! " + error.toString(), Toast.LENGTH_SHORT).show();
}
})
.onSameThread()
.check();
}

private void showSettingsDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(NewActivitySlideImage.this);
builder.setTitle(R.string.permisson_title);
builder.setMessage(R.string.permisson_message);
builder.setPositiveButton("GOTO SETTINGS", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
openSettings();
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builder.show();
}

private void openSettings() {
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", getPackageName(), null);
intent.setData(uri);
startActivityForResult(intent, 101);
}

private void getImageById(final String id) {
final ProgressDialog progressDialog = new ProgressDialog(NewActivitySlideImage.this);
progressDialog.setMessage("Please wait...");
progressDialog.setCancelable(false);
progressDialog.show();
RequestQueue queue = Volley.newRequestQueue(NewActivitySlideImage.this);
StringRequest sr = new StringRequest(Request.Method.POST, BuildConfig.BASE_URL + "api_image_details.php", new Response.Listener<String>() {
@Override
public void onResponse(String response) {
progressDialog.dismiss();
try {
JSONObject jsonObject = new JSONObject(response);
JSONObject image = jsonObject.optJSONObject("image");
ItemRecent itemRecent = new ItemRecent();
itemRecent.setAd(false);
itemRecent.setCategoryName(image.optString("category_name"));
itemRecent.setImageurl(image.optString("image"));
itemRecent.setView_count(image.getString("view_count"));
itemRecent.setImage_id(id);
listItemRecent = new ArrayList<>();
listItemRecent.add(itemRecent);
ImagePagerAdapter adapter = new ImagePagerAdapter();
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(0);
tvView.setText(Utils.format(Long.parseLong(listItemRecent.get(position).getView_count())));
callViewCount(listItemRecent.get(position).getImage_id());
toolbar.setTitle(listItemRecent.get(position).getCategoryName());
FirstFav();

} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
progressDialog.dismiss();
}
}) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put("id", id);
return params;
}
};
queue.add(sr);
}

}
     
 
what is notes.io
 

Notes.io is a web-based application for taking notes. You can take your notes and share with others people. If you like taking long notes, notes.io is designed for you. To date, over 8,000,000,000 notes created and continuing...

With notes.io;

  • * You can take a note from anywhere and any device with internet connection.
  • * You can share the notes in social platforms (YouTube, Facebook, Twitter, instagram etc.).
  • * You can quickly share your contents without website, blog and e-mail.
  • * You don't need to create any Account to share a note. As you wish you can use quick, easy and best shortened notes with sms, websites, e-mail, or messaging services (WhatsApp, iMessage, Telegram, Signal).
  • * Notes.io has fabulous infrastructure design for a short link and allows you to share the note as an easy and understandable link.

Fast: Notes.io is built for speed and performance. You can take a notes quickly and browse your archive.

Easy: Notes.io doesn’t require installation. Just write and share note!

Short: Notes.io’s url just 8 character. You’ll get shorten link of your note when you want to share. (Ex: notes.io/q )

Free: Notes.io works for 12 years and has been free since the day it was started.


You immediately create your first note and start sharing with the ones you wish. If you want to contact us, you can use the following communication channels;


Email: [email protected]

Twitter: http://twitter.com/notesio

Instagram: http://instagram.com/notes.io

Facebook: http://facebook.com/notesio



Regards;
Notes.io Team

     
 
Shortened Note Link
 
 
Looding Image
 
     
 
Long File
 
 

For written notes was greater than 18KB Unable to shorten.

To be smaller than 18KB, please organize your notes, or sign in.