From b21f07dccff064ec87574541f8ae45e3ea7a4ece Mon Sep 17 00:00:00 2001 From: tom79 Date: Thu, 30 May 2019 16:37:49 +0200 Subject: [PATCH] Some fixes --- .../activities/PhotoEditorActivity.java | 32 ++++++++++++++++--- .../android/activities/TootActivity.java | 20 ++++++++++++ .../app/fedilab/android/helper/Helper.java | 2 ++ .../main/res/layout/activity_photoeditor.xml | 14 ++++++++ app/src/main/res/layout/row_filter_view.xml | 2 +- 5 files changed, 65 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/app/fedilab/android/activities/PhotoEditorActivity.java b/app/src/main/java/app/fedilab/android/activities/PhotoEditorActivity.java index ecfc81571..0826884a2 100644 --- a/app/src/main/java/app/fedilab/android/activities/PhotoEditorActivity.java +++ b/app/src/main/java/app/fedilab/android/activities/PhotoEditorActivity.java @@ -20,6 +20,7 @@ import android.net.Uri; import android.os.Bundle; import android.os.Environment; import android.support.annotation.NonNull; +import android.support.v4.content.LocalBroadcastManager; import android.view.Window; @@ -53,6 +54,7 @@ import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.View; import android.view.animation.AnticipateOvershootInterpolator; +import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; @@ -88,6 +90,8 @@ public class PhotoEditorActivity extends BaseActivity implements OnPhotoEditorL private ConstraintLayout mRootView; private ConstraintSet mConstraintSet = new ConstraintSet(); private boolean mIsFilterVisible; + private Uri uri; + private boolean exit; @SuppressLint("MissingPermission") @Override @@ -120,9 +124,10 @@ public class PhotoEditorActivity extends BaseActivity implements OnPhotoEditorL if( path == null) { finish(); } - Uri uri = Uri.parse(path); + uri = Uri.parse(path); + exit = false; setContentView(R.layout.activity_photoeditor); @@ -157,6 +162,17 @@ public class PhotoEditorActivity extends BaseActivity implements OnPhotoEditorL //Set Image Dynamically mPhotoEditorView.getSource().setImageURI(uri); + + + Button send = findViewById(R.id.send); + + send.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + exit = true; + saveImage(); + } + }); } private void initViews() { @@ -264,9 +280,11 @@ public class PhotoEditorActivity extends BaseActivity implements OnPhotoEditorL private void saveImage() { if (requestPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)) { showLoading(getString(R.string.saving)); - File file = new File(Environment.getExternalStorageDirectory() - + File.separator + "" - + System.currentTimeMillis() + ".png"); + SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, MODE_PRIVATE); + String myDir = sharedpreferences.getString(Helper.SET_FOLDER_RECORD, Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath()); + String filename = System.currentTimeMillis()+"_"+Helper.getFileName(PhotoEditorActivity.this, uri); + + File file = new File(myDir+"/"+filename); try { file.createNewFile(); @@ -281,6 +299,12 @@ public class PhotoEditorActivity extends BaseActivity implements OnPhotoEditorL hideLoading(); showSnackbar(getString(R.string.image_saved)); mPhotoEditorView.getSource().setImageURI(Uri.fromFile(new File(imagePath))); + if( exit ){ + Intent intentImage = new Intent(Helper.INTENT_SEND_MODIFIED_IMAGE); + intentImage.putExtra("imgpath", imagePath); + LocalBroadcastManager.getInstance(getApplicationContext()).sendBroadcast(intentImage); + finish(); + } } @Override diff --git a/app/src/main/java/app/fedilab/android/activities/TootActivity.java b/app/src/main/java/app/fedilab/android/activities/TootActivity.java index a531770d5..7f1e57b44 100644 --- a/app/src/main/java/app/fedilab/android/activities/TootActivity.java +++ b/app/src/main/java/app/fedilab/android/activities/TootActivity.java @@ -18,10 +18,13 @@ import android.Manifest; import android.annotation.SuppressLint; import android.app.Activity; import android.content.ActivityNotFoundException; +import android.content.BroadcastReceiver; import android.content.ClipData; import android.content.ContentResolver; +import android.content.Context; import android.content.DialogInterface; import android.content.Intent; +import android.content.IntentFilter; import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.database.sqlite.SQLiteDatabase; @@ -40,6 +43,7 @@ import android.support.annotation.RequiresApi; import android.support.v4.app.ActivityCompat; import android.support.v4.content.ContextCompat; import android.support.v4.content.FileProvider; +import android.support.v4.content.LocalBroadcastManager; import android.support.v7.app.ActionBar; import android.support.v7.app.AlertDialog; import android.support.v7.widget.Toolbar; @@ -108,6 +112,7 @@ import java.util.concurrent.TimeUnit; import java.util.regex.Matcher; import java.util.regex.Pattern; +import app.fedilab.android.asynctasks.RetrieveFeedsAsyncTask; import app.fedilab.android.client.API; import app.fedilab.android.client.APIResponse; import app.fedilab.android.client.Entities.Account; @@ -813,11 +818,26 @@ public class TootActivity extends BaseActivity implements OnPostActionInterface, }); toot_space_left.setText(String.valueOf(countLength())); + + LocalBroadcastManager.getInstance(this) + .registerReceiver(imageReceiver, + new IntentFilter(Helper.INTENT_SEND_MODIFIED_IMAGE)); } + + private BroadcastReceiver imageReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + String imgpath = intent.getStringExtra("imgpath"); + if( imgpath != null) + new asyncPicture(TootActivity.this, account, Uri.fromFile(new File(imgpath))).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); + } + }; @Override public void onDestroy() { super.onDestroy(); + LocalBroadcastManager.getInstance(this) + .unregisterReceiver(imageReceiver); } diff --git a/app/src/main/java/app/fedilab/android/helper/Helper.java b/app/src/main/java/app/fedilab/android/helper/Helper.java index 90e1d2654..8fefc2c1d 100644 --- a/app/src/main/java/app/fedilab/android/helper/Helper.java +++ b/app/src/main/java/app/fedilab/android/helper/Helper.java @@ -408,6 +408,7 @@ public class Helper { public static final String EP_AUTHORIZE = "/oauth/authorize"; + //Proxy public static final String SET_PROXY_ENABLED = "set_proxy_enabled"; public static final String SET_PROXY_TYPE = "set_proxy_type"; @@ -427,6 +428,7 @@ public class Helper { public static final String INTENT_ACTION = "intent_action"; public static final String INTENT_TARGETED_ACCOUNT = "intent_targeted_account"; public static final String INTENT_BACKUP_FINISH = "intent_backup_finish"; + public static final String INTENT_SEND_MODIFIED_IMAGE = "intent_send_modified_image"; //Receiver public static final String RECEIVE_DATA = "receive_data"; public static final String RECEIVE_ACTION = "receive_action"; diff --git a/app/src/main/res/layout/activity_photoeditor.xml b/app/src/main/res/layout/activity_photoeditor.xml index d7d86efa4..3844427a4 100644 --- a/app/src/main/res/layout/activity_photoeditor.xml +++ b/app/src/main/res/layout/activity_photoeditor.xml @@ -135,6 +135,20 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/guideline" /> +