package de.fun2code.android.piratebox.util;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import android.util.Log;
import de.fun2code.android.piratebox.Constants;
import de.fun2code.android.piratebox.R;
public class PirateUtil {
/**
* Calculates the current number of uploaded files
*
* @param context Context to use
* @return number of uploaded files
*/
public static int calculateUploads(Context context) {
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
String storageDir = preferences.getString(Constants.PREF_STORAGE_DIR, context.getResources().getString(R.string.pref_storage_dir_default));
File storageDirFile = new File(storageDir + "/uploads");
int uploads = 0;
if(storageDirFile.isDirectory()) {
for(File file : storageDirFile.listFiles()) {
if(file.isFile()) {
uploads++;
}
}
}
return uploads;
}
/**
* Calculates the current number of shout/chat messages
*
* @param context Context to use
* @return number of shout/chat messages
*/
public static int calculateMessages(Context context) {
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
String storageDir = preferences.getString(Constants.PREF_STORAGE_DIR, context.getResources().getString(R.string.pref_storage_dir_default));
File chatFile = new File(storageDir + "/chat/data.bso");
int messages = 0;
if(chatFile.exists()) {
BufferedReader br = null;
try {
DataInputStream in = new DataInputStream(new FileInputStream(chatFile));
br = new BufferedReader(new InputStreamReader(in));
while (br.readLine() != null) {
messages++;
}
}
catch(IOException e) {
Log.e(Constants.TAG, "Unable to count messages");
}
finally {
if(br != null) {
try {
br.close();
} catch (IOException e) {
// Game over, ignore
}
}
}
}
return messages;
}
}