If you think the Android project Pimp_my_Z1 listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code
/** Copyright (C) 2013 Louis Teboul (a.k.a Androguide)
*//www.java2s.com
* admin@pimpmyrom.org || louisteboul@gmail.com
* http://pimpmyrom.org || http://androguide.fr
* 71 quai Clmenceau, 69300 Caluire-et-Cuire, FRANCE.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
**/package com.fima.cardsui.views;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.SharedPreferences;
import android.graphics.Color;
import android.os.AsyncTask;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import com.fima.cardsui.R;
import com.fima.cardsui.objects.Card;
import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.net.URLConnection;
publicclass CardDownload extends Card {
public CardDownload(String title, String desc, String url, String filePath, String buttonText1, ActionBarActivity fa) {
super(title, desc, url, filePath, buttonText1, fa);
}
@Override
public View getCardContent(Context context) {
View v = LayoutInflater.from(context).inflate(R.layout.card_download, null);
SharedPreferences config = fa.getSharedPreferences("CONFIG", 0);
assert v != null;
TextView t = (TextView) v.findViewById(R.id.title);
TextView d = (TextView) v.findViewById(R.id.desc);
d.setText(desc);
t.setText(title);
t.setTextColor(Color.parseColor(config.getString("APP_COLOR", "#96AA39")));
Button button = (Button) v.findViewById(R.id.button);
button.setText(buttonText1);
button.setOnClickListener(new View.OnClickListener() {
@Override
publicvoid onClick(View v) {
String[] urls = {url, filePath};
new DownloadFileFromURL().execute(urls);
}
});
return v;
}
/**
* Background Async Task to download file
*/class DownloadFileFromURL extends AsyncTask<String, String, String> {
private ProgressDialog pDialog;
/**
* Before starting background thread
* Show Progress Bar Dialog
*/
@Override
protectedvoid onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(fa);
pDialog.setTitle("Downloading");
pDialog.setMessage("Please wait...");
pDialog.setIndeterminate(false);
pDialog.setMax(100);
pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pDialog.setCancelable(true);
pDialog.show();
}
/**
* Downloading file in background thread
*/
@Override
protected String doInBackground(String... f_url) {
int count;
try {
URL url = new URL(f_url[0]);
URLConnection connection = url.openConnection();
connection.connect();
int lengthOfFile = connection.getContentLength();
InputStream input = new BufferedInputStream(url.openStream(), 8192);
OutputStream output = new FileOutputStream(f_url[1]);
byte data[] = newbyte[1024];
long total = 0;
while ((count = input.read(data)) != -1) {
total += count;
publishProgress("" + (int) ((total * 100) / lengthOfFile));
output.write(data, 0, count);
}
output.flush();
output.close();
input.close();
} catch (Exception e) {
Log.e("Error: ", e.getMessage());
}
return null;
}
/**
* Updating progress bar
*/protectedvoid onProgressUpdate(String... progress) {
pDialog.setProgress(Integer.parseInt(progress[0]));
}
/**
* After completing background task
* Dismiss the progress dialog
* *
*/
@Override
protectedvoid onPostExecute(String file_url) {
// dismiss the dialog after the file was downloaded
pDialog.dismiss();
}
}
publicint getCardContentId() {
return R.layout.card_download;
}
@Override
publicboolean convert(View convertCardView) {
return true;
}
}