Progress displayed
This commit is contained in:
		@@ -48,6 +48,7 @@ public class MainActivity extends Activity
 | 
			
		||||
 | 
			
		||||
    long messageCount = 0;
 | 
			
		||||
 | 
			
		||||
    enum EnumResult { success, errorReadingMessages, noMessages, errorWritingFile };
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    protected void onCreate(@Nullable Bundle savedInstanceState)
 | 
			
		||||
@@ -92,7 +93,7 @@ public class MainActivity extends Activity
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    class AsyncTaskExport extends AsyncTask<Uri, Integer, Boolean>
 | 
			
		||||
    class AsyncTaskExport extends AsyncTask<Uri, Integer, EnumResult>
 | 
			
		||||
    {
 | 
			
		||||
        String getExportString()
 | 
			
		||||
        {
 | 
			
		||||
@@ -168,7 +169,7 @@ public class MainActivity extends Activity
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        @Override
 | 
			
		||||
        protected Boolean doInBackground(Uri... uriTree)
 | 
			
		||||
        protected EnumResult doInBackground(Uri... uriTree)
 | 
			
		||||
        {
 | 
			
		||||
            int selectedMessageType;
 | 
			
		||||
            if(rbRcs.isChecked())
 | 
			
		||||
@@ -185,10 +186,11 @@ public class MainActivity extends Activity
 | 
			
		||||
            {
 | 
			
		||||
                if (Looper.myLooper() == null)
 | 
			
		||||
                    Looper.prepare();
 | 
			
		||||
                Toast.makeText(MainActivity.this, "Error reading messages. Can\'t export.", Toast.LENGTH_SHORT).show();
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            return false;
 | 
			
		||||
                Toast.makeText(MainActivity.this, "Error reading messages. Can\'t export.", Toast.LENGTH_SHORT).show();
 | 
			
		||||
 | 
			
		||||
                return EnumResult.noMessages;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        @Override
 | 
			
		||||
@@ -199,14 +201,25 @@ public class MainActivity extends Activity
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        @Override
 | 
			
		||||
        protected void onPostExecute(Boolean result)
 | 
			
		||||
        protected void onPostExecute(EnumResult result)
 | 
			
		||||
        {
 | 
			
		||||
            super.onPostExecute(result);
 | 
			
		||||
 | 
			
		||||
            if(result)
 | 
			
		||||
            switch(result)
 | 
			
		||||
            {
 | 
			
		||||
                case success:
 | 
			
		||||
                    tvStatus.setText(String.format(getResources().getString(R.string.exported), String.valueOf(messageCount)));
 | 
			
		||||
            else
 | 
			
		||||
                tvStatus.setText(getResources().getString(R.string.errorExporting));
 | 
			
		||||
                    break;
 | 
			
		||||
                case errorReadingMessages:
 | 
			
		||||
                    tvStatus.setText(getResources().getString(R.string.errorReadingMessages));
 | 
			
		||||
                    break;
 | 
			
		||||
                case noMessages:
 | 
			
		||||
                    tvStatus.setText(getResources().getString(R.string.noMessages));
 | 
			
		||||
                    break;
 | 
			
		||||
                case errorWritingFile:
 | 
			
		||||
                    tvStatus.setText(getResources().getString(R.string.errorWritingFile));
 | 
			
		||||
                    break;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@@ -220,7 +233,7 @@ public class MainActivity extends Activity
 | 
			
		||||
            switch (requestCode)
 | 
			
		||||
            {
 | 
			
		||||
                case requestCodeExport:
 | 
			
		||||
                    AsyncTask<Uri,Integer,Boolean> exportTask = new AsyncTaskExport();
 | 
			
		||||
                    AsyncTask<Uri,Integer,EnumResult> exportTask = new AsyncTaskExport();
 | 
			
		||||
                    exportTask.execute(data.getData());
 | 
			
		||||
                    break;
 | 
			
		||||
                case requestCodePermissionRequest:
 | 
			
		||||
@@ -230,7 +243,7 @@ public class MainActivity extends Activity
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    boolean exportFiles(Uri uriTree, int messageType, String content)
 | 
			
		||||
    EnumResult exportFiles(Uri uriTree, int messageType, String content)
 | 
			
		||||
    {
 | 
			
		||||
        String messageTypeString;
 | 
			
		||||
        if(messageType == typeRCS)
 | 
			
		||||
@@ -269,17 +282,18 @@ public class MainActivity extends Activity
 | 
			
		||||
                OutputStream out = getApplicationContext().getContentResolver().openOutputStream(exportFile.getUri());
 | 
			
		||||
                out.write(content.getBytes());
 | 
			
		||||
                out.close();
 | 
			
		||||
                return true;
 | 
			
		||||
                return EnumResult.success;
 | 
			
		||||
            }
 | 
			
		||||
            catch (IOException e)
 | 
			
		||||
            {
 | 
			
		||||
                e.printStackTrace();
 | 
			
		||||
                return EnumResult.errorWritingFile;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        else
 | 
			
		||||
            return EnumResult.errorWritingFile;
 | 
			
		||||
//        else
 | 
			
		||||
//            Toast.makeText(MainActivity.this, getResources().getString(R.string.ConfigurationExportError), Toast.LENGTH_LONG).show();
 | 
			
		||||
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    List<Map<String,String>> readMessages(int messageType)
 | 
			
		||||
 
 | 
			
		||||
@@ -13,4 +13,7 @@
 | 
			
		||||
    <string name="exporting">Exporting %1$s messages.</string>
 | 
			
		||||
    <string name="exported">%1$s messages have been exported.</string>
 | 
			
		||||
    <string name="errorExporting">An error occured while exporting your messages.</string>
 | 
			
		||||
    <string name="errorReadingMessages">Error reading messages.</string>
 | 
			
		||||
    <string name="noMessages">There are no messages of the selected type. Nothing exported.</string>
 | 
			
		||||
    <string name="errorWritingFile">File could not be written.</string>
 | 
			
		||||
</resources>
 | 
			
		||||
		Reference in New Issue
	
	Block a user