package com.commonsware.android.advservice.binding;
import android.app.Activity;
import android.app.Application;
import android.app.Fragment;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.IBinder;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
public class DownloadFragment extends Fragment implements
OnClickListener, ServiceConnection {
private static final String TO_DOWNLOAD="https://commonsware.com/Android/excerpt.pdf";
private IDownload binding=null;
private Button btn=null;
private Application appContext=null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRetainInstance(true);
appContext=(Application)getActivity().getApplicationContext();
appContext.bindService(new Intent(getActivity(),
DownloadService.class),
this, Context.BIND_AUTO_CREATE);
}
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState) {
View result=inflater.inflate(R.layout.main, container, false);
btn=(Button)result.findViewById(R.id.go);
btn.setOnClickListener(this);
btn.setEnabled(binding!=null);
return(result);
}
@Override
public void onDestroy() {
appContext.unbindService(this);
disconnect();
super.onDestroy();
}
@Override
public void onClick(View view) {
binding.download(TO_DOWNLOAD);
}
@Override
public void onServiceConnected(ComponentName className, IBinder binder) {
binding=(IDownload)binder;
btn.setEnabled(true);
}
@Override
public void onServiceDisconnected(ComponentName className) {
disconnect();
}
private void disconnect() {
binding=null;
btn.setEnabled(false);
}
}