package io.futurestud.tutorials.glide.ui.activities;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ImageView;
import com.bumptech.glide.DrawableTypeRequest;
import com.bumptech.glide.Glide;
import com.bumptech.glide.RequestManager;
import butterknife.Bind;
import butterknife.ButterKnife;
import io.futurestud.tutorials.glide.R;
import io.futurestud.tutorials.glide.glidemodule.NetworkDisablingLoader;
public class UsageExampleNetworkDependent extends AppCompatActivity {
@Bind(R.id.standard_list_imageview1) ImageView imageView1;
@Bind(R.id.standard_list_imageview3) ImageView imageView2;
@Bind(R.id.standard_list_imageview4) ImageView imageView3;
private Context context = this;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_standard_imageview);
ButterKnife.bind(this);
//loadNetworkDependent();
loadNetworkDependentWithCache();
}
private void loadNetworkDependent() {
RequestManager requestManager = Glide.with(context);
DrawableTypeRequest<String> request;
// if you need transformations or other options specific for the load, chain them here
if (deviceOnWifi()) {
request = requestManager.load("http://www.placehold.it/750x750");
}
else {
request = requestManager.load("http://www.placehold.it/100x100");
}
request.into(imageView1);
}
private void loadNetworkDependentWithCache() {
// if you need transformations or other options specific for the load, chain them here
if (deviceOnWifi()) {
Glide
.with(context)
.load("http://www.placehold.it/750x750")
.into(imageView1);
}
else {
Glide
.with(context)
.using(new NetworkDisablingLoader())
.load("http://www.placehold.it/750x750")
.thumbnail(
Glide
.with(context)
.load("http://www.placehold.it/100x100")
)
.into(imageView1);
}
}
private boolean deviceOnWifi() {
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
return networkInfo.isConnected();
}
}