package com.aptoide.amethyst.fragments;
import android.app.Activity;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import com.aptoide.amethyst.Aptoide;
import com.aptoide.amethyst.utils.AptoideUtils;
import java.io.File;
/**
* Created by fabio on 22-10-2015.
*/
public class Md5CalculatorFragmentTask extends Fragment {
public interface Callback {
void onPostExecute(String md5Sum);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String package_name = getArguments().getString("package_name");
setRetainInstance(true);
new Md5Calculator(callback).execute(package_name);
}
Callback callback;
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
this.callback = (Callback) activity;
}
@Override
public void onDetach() {
super.onDetach();
this.callback = null;
}
private static class Md5Calculator extends AsyncTask<String, Void, String> {
private Callback callback;
public Md5Calculator(Callback callback) {
this.callback = callback;
}
@Override
protected String doInBackground(String... params) {
String package_name = params[0];
PackageManager packageManager = Aptoide.getContext().getPackageManager();
try {
ApplicationInfo applicationInfo = packageManager.getApplicationInfo(package_name, 0);
String dataDir = applicationInfo.sourceDir;
return AptoideUtils.Algorithms.md5Calc(new File(dataDir));
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String md5Sum) {
this.callback.onPostExecute(md5Sum);
}
}
}