From 681c70d0565b6877d0770a2d2d9ed1d5426b96e5 Mon Sep 17 00:00:00 2001 From: Vavassor Date: Fri, 21 Apr 2017 01:50:59 -0400 Subject: [PATCH] Changes the icon for the visibility menu in the composer to match the current visibility. Also, fixes build errors with the dutch translation file. --- .../keylesspalace/tusky/ComposeActivity.java | 72 +++++++++++-------- .../values-nl/{strings.xmp => strings.xml} | 2 +- 2 files changed, 44 insertions(+), 30 deletions(-) rename app/src/main/res/values-nl/{strings.xmp => strings.xml} (99%) diff --git a/app/src/main/java/com/keylesspalace/tusky/ComposeActivity.java b/app/src/main/java/com/keylesspalace/tusky/ComposeActivity.java index 3ca529f3..3fa42f99 100644 --- a/app/src/main/java/com/keylesspalace/tusky/ComposeActivity.java +++ b/app/src/main/java/com/keylesspalace/tusky/ComposeActivity.java @@ -18,7 +18,6 @@ package com.keylesspalace.tusky; import android.Manifest; import android.app.ProgressDialog; import android.content.ContentResolver; -import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; @@ -108,7 +107,7 @@ public class ComposeActivity extends BaseActivity implements ComposeOptionsFrag private static final int PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE = 1; private static final int MEDIA_SIZE_UNKNOWN = -1; private static final int COMPOSE_SUCCESS = -1; - private static final int THUMBNAIL_SIZE = 128; + private static final int THUMBNAIL_SIZE = 128; // pixels private String inReplyToId; private EditText textEditor; @@ -346,8 +345,7 @@ public class ComposeActivity extends BaseActivity implements ComposeOptionsFrag actionBar.setHomeAsUpIndicator(closeIcon); } - SharedPreferences preferences = getSharedPreferences( - getString(R.string.preferences_file_key), Context.MODE_PRIVATE); + SharedPreferences preferences = getPrivatePreferences(); floatingBtn = (Button) findViewById(R.id.floating_btn); pickBtn = (ImageButton) findViewById(R.id.compose_photo_pick); @@ -595,26 +593,53 @@ public class ComposeActivity extends BaseActivity implements ComposeOptionsFrag floatingBtn.setEnabled(true); } + private void addLockToSendButton() { + floatingBtn.setText(R.string.action_send); + Drawable lock = AppCompatResources.getDrawable(this, R.drawable.send_private); + if (lock != null) { + lock.setBounds(0, 0, lock.getIntrinsicWidth(), lock.getIntrinsicHeight()); + floatingBtn.setCompoundDrawables(null, null, lock, null); + } + } + private void setStatusVisibility(String visibility) { statusVisibility = visibility; switch (visibility) { case "public": { floatingBtn.setText(R.string.action_send_public); floatingBtn.setCompoundDrawables(null, null, null, null); - break; - } - case "private": { - floatingBtn.setText(R.string.action_send); - Drawable lock = AppCompatResources.getDrawable(this, R.drawable.send_private); - if (lock != null) { - lock.setBounds(0, 0, lock.getIntrinsicWidth(), lock.getIntrinsicHeight()); - floatingBtn.setCompoundDrawables(null, null, lock, null); + Drawable globe = AppCompatResources.getDrawable(this, R.drawable.ic_public_24dp); + if (globe != null) { + visibilityBtn.setImageDrawable(globe); } break; } + case "private": { + addLockToSendButton(); + Drawable lock = AppCompatResources.getDrawable(this, + R.drawable.ic_lock_outline_24dp); + if (lock != null) { + visibilityBtn.setImageDrawable(lock); + } + break; + } + case "direct": { + addLockToSendButton(); + Drawable envelope = AppCompatResources.getDrawable(this, R.drawable.ic_email_24dp); + if (envelope != null) { + visibilityBtn.setImageDrawable(envelope); + } + break; + } + case "unlisted": default: { floatingBtn.setText(R.string.action_send); floatingBtn.setCompoundDrawables(null, null, null, null); + Drawable openLock = AppCompatResources.getDrawable(this, + R.drawable.ic_lock_open_24dp); + if (openLock != null) { + visibilityBtn.setImageDrawable(openLock); + } break; } } @@ -728,11 +753,9 @@ public class ComposeActivity extends BaseActivity implements ComposeOptionsFrag * the status they reply to and that behaviour needs to be kept separate. */ return; } - SharedPreferences preferences = getSharedPreferences( - getString(R.string.preferences_file_key), Context.MODE_PRIVATE); - SharedPreferences.Editor editor = preferences.edit(); - editor.putString("rememberedVisibility", statusVisibility); - editor.apply(); + getPrivatePreferences().edit() + .putString("rememberedVisibility", statusVisibility) + .apply(); } private EditText createEditText(String[] contentMimeTypes) { @@ -967,12 +990,11 @@ public class ComposeActivity extends BaseActivity implements ComposeOptionsFrag String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.US).format(new Date()); String imageFileName = "Tusky_" + timeStamp + "_"; File storageDir = getExternalFilesDir(Environment.DIRECTORY_PICTURES); - File image = File.createTempFile( + return File.createTempFile( imageFileName, /* prefix */ ".jpg", /* suffix */ storageDir /* directory */ ); - return image; } private void initiateCameraApp() { @@ -1250,19 +1272,11 @@ public class ComposeActivity extends BaseActivity implements ComposeOptionsFrag long mediaSize = getMediaSize(getContentResolver(), uri); pickMedia(uri, mediaSize); } else if (requestCode == MEDIA_TAKE_PHOTO_RESULT && resultCode == RESULT_OK) { - queueCameraResult(); + long mediaSize = getMediaSize(getContentResolver(), photoUploadUri); + pickMedia(photoUploadUri, mediaSize); } } - private void queueCameraResult() { - ContentResolver contentResolver = getContentResolver(); - - Cursor returnCursor = contentResolver.query(photoUploadUri, null, null, null, null); - int sizeIndex = returnCursor.getColumnIndex(OpenableColumns.SIZE); - returnCursor.moveToFirst(); - pickMedia(photoUploadUri, returnCursor.getLong(sizeIndex)); - } - private void pickMedia(Uri uri, long mediaSize) { ContentResolver contentResolver = getContentResolver(); if (mediaSize == MEDIA_SIZE_UNKNOWN) { diff --git a/app/src/main/res/values-nl/strings.xmp b/app/src/main/res/values-nl/strings.xml similarity index 99% rename from app/src/main/res/values-nl/strings.xmp rename to app/src/main/res/values-nl/strings.xml index 323010bd..1d747478 100644 --- a/app/src/main/res/values-nl/strings.xmp +++ b/app/src/main/res/values-nl/strings.xml @@ -13,7 +13,7 @@ Bestandstype kan niet worden geüpload. Bestand kan niet worden geopend. Toestemming nodig om media te kunnen lezen. - Afbeeldingen en video's kunnen niet allebei aan dezelfde toot worden toegevoegd. + Afbeeldingen en video\'s kunnen niet allebei aan dezelfde toot worden toegevoegd. Uploaden mislukt. Tenminste één toot moet worden gerapporteerd.