project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/MainActivity.java
changeset 6623 6bf169f1e97c
parent 6456 fed715edc3ee
child 6700 e04da46ee43c
equal deleted inserted replaced
6622:01889d5bc79b 6623:6bf169f1e97c
    24 import android.app.AlertDialog;
    24 import android.app.AlertDialog;
    25 import android.app.Dialog;
    25 import android.app.Dialog;
    26 import android.app.ProgressDialog;
    26 import android.app.ProgressDialog;
    27 import android.content.DialogInterface;
    27 import android.content.DialogInterface;
    28 import android.content.Intent;
    28 import android.content.Intent;
       
    29 import android.content.pm.PackageInfo;
       
    30 import android.content.pm.PackageManager.NameNotFoundException;
    29 import android.os.Bundle;
    31 import android.os.Bundle;
    30 import android.preference.PreferenceManager;
    32 import android.preference.PreferenceManager;
    31 import android.support.v4.app.FragmentActivity;
    33 import android.support.v4.app.FragmentActivity;
    32 import android.view.View;
    34 import android.view.View;
    33 import android.view.View.OnClickListener;
    35 import android.view.View.OnClickListener;
    52 
    54 
    53 		String cacheDir = Utils.getCachePath(this);
    55 		String cacheDir = Utils.getCachePath(this);
    54 		if(cacheDir == null){
    56 		if(cacheDir == null){
    55 			showDialog(0);
    57 			showDialog(0);
    56 		}else{
    58 		}else{
    57 			boolean assetsCopied = PreferenceManager.getDefaultSharedPreferences(this).getBoolean("assetscopied", false);
    59 			int versionCode = 0;
       
    60 			try {
       
    61 				versionCode = this.getPackageManager().getPackageInfo(this.getPackageName(), 0).versionCode;
       
    62 			} catch (NameNotFoundException e) {
       
    63 
       
    64 			}
       
    65 			boolean assetsCopied = PreferenceManager.getDefaultSharedPreferences(this).getInt("latestAssets", 0) >= versionCode;
    58 
    66 
    59 			if(!assetsCopied){
    67 			if(!assetsCopied){
    60 				DownloadAssets assetsAsyncTask = new DownloadAssets(this);
    68 				DownloadAssets assetsAsyncTask = new DownloadAssets(this);
    61 				assetsDialog = ProgressDialog.show(this, "Please wait a moment", "Moving assets...");
    69 				assetsDialog = ProgressDialog.show(this, "Please wait a moment", "Moving assets...");
    62 				assetsAsyncTask.execute((Object[])null);
    70 				assetsAsyncTask.execute((Object[])null);
    77 		return builder.create();
    85 		return builder.create();
    78 	}
    86 	}
    79 
    87 
    80 	public void onAssetsDownloaded(boolean result){
    88 	public void onAssetsDownloaded(boolean result){
    81 		if(result){
    89 		if(result){
    82 			PreferenceManager.getDefaultSharedPreferences(this).edit().putBoolean("assetscopied", true).commit();
    90 			try {
       
    91 				int versionCode = this.getPackageManager().getPackageInfo(this.getPackageName(), 0).versionCode;
       
    92 				PreferenceManager.getDefaultSharedPreferences(this).edit().putInt("latestAssets", versionCode).commit();
       
    93 			} catch (NameNotFoundException e) {}
       
    94 			
    83 		}else{
    95 		}else{
    84 			Toast.makeText(this, R.string.download_failed, Toast.LENGTH_LONG);
    96 			Toast.makeText(this, R.string.download_failed, Toast.LENGTH_LONG);
    85 		}
    97 		}
    86 		assetsDialog.dismiss();
    98 		assetsDialog.dismiss();
    87 	}
    99 	}