aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/eu/siacs/conversations/ui/WelcomeActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/eu/siacs/conversations/ui/WelcomeActivity.java')
-rw-r--r--src/main/java/eu/siacs/conversations/ui/WelcomeActivity.java208
1 files changed, 0 insertions, 208 deletions
diff --git a/src/main/java/eu/siacs/conversations/ui/WelcomeActivity.java b/src/main/java/eu/siacs/conversations/ui/WelcomeActivity.java
deleted file mode 100644
index 464e57401..000000000
--- a/src/main/java/eu/siacs/conversations/ui/WelcomeActivity.java
+++ /dev/null
@@ -1,208 +0,0 @@
-package eu.siacs.conversations.ui;
-
-import android.Manifest;
-import android.app.Activity;
-import android.app.AlertDialog;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageManager;
-import android.database.sqlite.SQLiteDatabase;
-import android.database.sqlite.SQLiteException;
-import android.net.Uri;
-import android.os.Build;
-import android.os.Bundle;
-import android.os.Environment;
-import android.util.Log;
-import android.view.View;
-import android.widget.Button;
-import android.widget.TextView;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.List;
-
-import eu.siacs.conversations.Config;
-import eu.siacs.conversations.R;
-import eu.siacs.conversations.persistance.DatabaseBackend;
-
-public class WelcomeActivity extends Activity {
-
- private static final int REQUEST_READ_EXTERNAL_STORAGE = 0XD737;
- boolean dbExist = false;
- boolean backup_existing = false;
-
- @Override
- protected void onCreate(final Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.welcome);
-
- //check if there is a backed up database --
- if (hasStoragePermission(REQUEST_READ_EXTERNAL_STORAGE)) {
- dbExist = checkDatabase();
- }
-
- if (dbExist) {
- backup_existing = true;
- }
-
-
- final Button ImportDatabase = (Button) findViewById(R.id.import_database);
- final TextView ImportText = (TextView) findViewById(R.id.import_text);
-
- if (backup_existing) {
- ImportDatabase.setVisibility(View.VISIBLE);
- ImportText.setVisibility(View.VISIBLE);
- }
-
- ImportDatabase.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- try {
- ImportDatabase();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- });
-
- final Button createAccount = (Button) findViewById(R.id.create_account);
- createAccount.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(WelcomeActivity.this, MagicCreateActivity.class);
- intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
- startActivity(intent);
- }
- });
- final Button useOwnProvider = (Button) findViewById(R.id.use_existing_account);
- useOwnProvider.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- startActivity(new Intent(WelcomeActivity.this, EditAccountActivity.class));
- }
- });
-
- }
-
- private boolean checkDatabase() {
-
- SQLiteDatabase checkDB = null;
- String DB_PATH = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Pix-Art Messenger/.Database/";
- String DB_NAME = "Database.bak";
- int DB_Version = DatabaseBackend.DATABASE_VERSION;
- int Backup_DB_Version = 0;
-
- try {
- String dbPath = DB_PATH + DB_NAME;
- checkDB = SQLiteDatabase.openDatabase(dbPath, null, SQLiteDatabase.OPEN_READONLY);
- Backup_DB_Version = checkDB.getVersion();
- Log.d(Config.LOGTAG, "Backup found: " + checkDB + " Version: " + checkDB.getVersion());
-
- } catch (SQLiteException e) {
- //database does't exist yet.
- Log.d(Config.LOGTAG, "No backup found: " + checkDB);
- }
-
- if (checkDB != null) {
- checkDB.close();
- }
- if (checkDB != null && Backup_DB_Version <= DB_Version) {
- return true;
- } else {
- return false;
- }
- }
-
- private void ImportDatabase() throws IOException {
-
- // Set location for the db:
- OutputStream myOutput = new FileOutputStream(this.getDatabasePath(DatabaseBackend.DATABASE_NAME));
-
- // Set the folder on the SDcard
- File directory = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Pix-Art Messenger/.Database/");
-
- // Set the input file stream up:
- InputStream myInput = new FileInputStream(directory.getPath() + "/Database.bak");
-
- // Transfer bytes from the input file to the output file
- byte[] buffer = new byte[1024];
- int length;
- while ((length = myInput.read(buffer)) > 0) {
- myOutput.write(buffer, 0, length);
- }
- Log.d(Config.LOGTAG,"Starting import of backup");
-
- // Close and clear the streams
- myOutput.flush();
- myOutput.close();
- myInput.close();
-
- Log.d(Config.LOGTAG, "New Features - Uninstall old version of Pix-Art Messenger");
- if (isPackageInstalled("eu.siacs.conversations")) {
- AlertDialog.Builder builder = new AlertDialog.Builder(this);
- builder.setMessage(R.string.uninstall_app_text)
- .setPositiveButton(R.string.uninstall, new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialogInterface, int i) {
- //start the deinstallation of old version
- if (isPackageInstalled("eu.siacs.conversations")) {
- Uri packageURI_VR = Uri.parse("package:eu.siacs.conversations");
- Intent uninstallIntent_VR = new Intent(Intent.ACTION_UNINSTALL_PACKAGE, packageURI_VR);
- if (uninstallIntent_VR.resolveActivity(getPackageManager()) != null) {
- startActivity(uninstallIntent_VR);
- }
- }
- }
- })
- .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialogInterface, int i) {
- Log.d(Config.LOGTAG, "New Features - Uninstall cancled");
- restart();
- }
- });
- builder.create().show();
- } else {
- restart();
- }
-
- }
-
- private void restart() {
- //restart app
- Log.d(Config.LOGTAG, "Restarting " + getBaseContext().getPackageManager().getLaunchIntentForPackage(getBaseContext().getPackageName()));
- Intent intent = getBaseContext().getPackageManager().getLaunchIntentForPackage(getBaseContext().getPackageName());
- intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- startActivity(intent);
- System.exit(0);
- }
-
- private boolean isPackageInstalled(String targetPackage) {
- List<ApplicationInfo> packages;
- PackageManager pm;
- pm = getPackageManager();
- packages = pm.getInstalledApplications(0);
- for (ApplicationInfo packageInfo : packages) {
- if (packageInfo.packageName.equals(targetPackage)) return true;
- }
- return false;
- }
-
- public boolean hasStoragePermission(int requestCode) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
- requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, requestCode);
- return false;
- } else {
- return true;
- }
- } else {
- return true;
- }
- }
-
-} \ No newline at end of file