From 94bb7c423c7a7fc120646915acc1ab645ceafcb1 Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Wed, 7 Mar 2018 19:05:28 +0100 Subject: [PATCH] added splash screen --- art/render.rb | 1 + src/main/AndroidManifest.xml | 13 +- .../services/NotificationService.java | 12 +- .../ui/ConversationActivity.java | 619 +----------------- .../ui/ConversationFragment.java | 17 +- .../ui/ConversationsActivity.java | 618 +++++++++++++++++ .../siacs/conversations/ui/XmppActivity.java | 13 +- .../ui/adapter/MessageAdapter.java | 5 +- .../conversations/ui/service/AudioPlayer.java | 5 +- src/main/res/drawable-hdpi/splash_logo.png | Bin 0 -> 16643 bytes src/main/res/drawable-mdpi/splash_logo.png | Bin 0 -> 10492 bytes src/main/res/drawable-xhdpi/splash_logo.png | Bin 0 -> 23030 bytes src/main/res/drawable-xxhdpi/splash_logo.png | Bin 0 -> 36548 bytes src/main/res/drawable-xxxhdpi/splash_logo.png | Bin 0 -> 50538 bytes src/main/res/drawable/background.xml | 11 + src/main/res/values/themes.xml | 4 + 16 files changed, 672 insertions(+), 646 deletions(-) create mode 100644 src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java create mode 100644 src/main/res/drawable-hdpi/splash_logo.png create mode 100644 src/main/res/drawable-mdpi/splash_logo.png create mode 100644 src/main/res/drawable-xhdpi/splash_logo.png create mode 100644 src/main/res/drawable-xxhdpi/splash_logo.png create mode 100644 src/main/res/drawable-xxxhdpi/splash_logo.png create mode 100644 src/main/res/drawable/background.xml diff --git a/art/render.rb b/art/render.rb index beff11d28..326311895 100755 --- a/art/render.rb +++ b/art/render.rb @@ -13,6 +13,7 @@ resolutions = { images = { 'ic_launcher.svg' => ['ic_launcher', 48], 'main_logo.svg' => ['main_logo', 200], + 'main_logo.svg' => ['splash_logo', 144], 'play_video.svg' => ['play_video', 128], 'play_gif.svg' => ['play_gif', 128], 'conversations_mono.svg' => ['ic_notification', 24], diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml index 28072d444..adbc294ff 100644 --- a/src/main/AndroidManifest.xml +++ b/src/main/AndroidManifest.xml @@ -47,17 +47,20 @@ + android:theme="@style/SplashTheme"> + pendingViewIntent = new PendingItem<>(); - private final PendingItem postponedActivityResult = new PendingItem<>(); - private ActivityConversationsBinding binding; - private boolean mActivityPaused = true; - private AtomicBoolean mRedirectInProcess = new AtomicBoolean(false); - - private static boolean isViewIntent(Intent i) { - return i != null && ACTION_VIEW_CONVERSATION.equals(i.getAction()) && i.hasExtra(EXTRA_CONVERSATION); - } - - private static Intent createLauncherIntent(Context context) { - final Intent intent = new Intent(context, ConversationActivity.class); - intent.setAction(Intent.ACTION_MAIN); - intent.addCategory(Intent.CATEGORY_LAUNCHER); - return intent; - } +public class ConversationActivity extends AppCompatActivity { @Override - protected void refreshUiReal() { - for (@IdRes int id : FRAGMENT_ID_NOTIFICATION_ORDER) { - refreshFragment(id); - } - } - - @Override - void onBackendConnected() { - if (performRedirectIfNecessary(true)) { - return; - } - xmppConnectionService.getNotificationService().setIsInForeground(true); - Intent intent = pendingViewIntent.pop(); - if (intent != null) { - if (processViewIntent(intent)) { - if (binding.secondaryFragment != null) { - notifyFragmentOfBackendConnected(R.id.main_fragment); - } - invalidateActionBarTitle(); - return; - } - } - for (@IdRes int id : FRAGMENT_ID_NOTIFICATION_ORDER) { - notifyFragmentOfBackendConnected(id); - } - - ActivityResult activityResult = postponedActivityResult.pop(); - if (activityResult != null) { - handleActivityResult(activityResult); - } - - invalidateActionBarTitle(); - if (binding.secondaryFragment != null && ConversationFragment.getConversation(this) == null) { - Conversation conversation = ConversationsOverviewFragment.getSuggestion(this); - if (conversation != null) { - openConversation(conversation, null); - } - } - showDialogsIfMainIsOverview(); - } - - private boolean performRedirectIfNecessary(boolean noAnimation) { - return performRedirectIfNecessary(null, noAnimation); - } - - private boolean performRedirectIfNecessary(final Conversation ignore, final boolean noAnimation) { - if (xmppConnectionService == null) { - return false; - } - boolean isConversationsListEmpty = xmppConnectionService.isConversationsListEmpty(ignore); - if (isConversationsListEmpty && mRedirectInProcess.compareAndSet(false, true)) { - final Intent intent = getRedirectionIntent(noAnimation); - runOnUiThread(() -> { - startActivity(intent); - if (noAnimation) { - overridePendingTransition(0, 0); - } - }); - } - return mRedirectInProcess.get(); - } - - private Intent getRedirectionIntent(boolean noAnimation) { - Account pendingAccount = xmppConnectionService.getPendingAccount(); - Intent intent; - if (pendingAccount != null) { - intent = new Intent(this, EditAccountActivity.class); - intent.putExtra("jid", pendingAccount.getJid().asBareJid().toString()); - } else { - if (xmppConnectionService.getAccounts().size() == 0) { - if (Config.X509_VERIFICATION) { - intent = new Intent(this, ManageAccountActivity.class); - } else if (Config.MAGIC_CREATE_DOMAIN != null) { - intent = new Intent(this, WelcomeActivity.class); - WelcomeActivity.addInviteUri(intent, getIntent()); - } else { - intent = new Intent(this, EditAccountActivity.class); - } - } else { - intent = new Intent(this, StartConversationActivity.class); - } - } - intent.putExtra("init", true); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); - if (noAnimation) { - intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); - } - return intent; - } - - private void showDialogsIfMainIsOverview() { - if (xmppConnectionService == null) { - return; - } - final Fragment fragment = getFragmentManager().findFragmentById(R.id.main_fragment); - if (fragment != null && fragment instanceof ConversationsOverviewFragment) { - if (ExceptionHelper.checkForCrash(this)) { - return; - } - openBatteryOptimizationDialogIfNeeded(); - } - } - - private String getBatteryOptimizationPreferenceKey() { - @SuppressLint("HardwareIds") String device = Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID); - return "show_battery_optimization" + (device == null ? "" : device); - } - - private void setNeverAskForBatteryOptimizationsAgain() { - getPreferences().edit().putBoolean(getBatteryOptimizationPreferenceKey(), false).apply(); - } - - private void openBatteryOptimizationDialogIfNeeded() { - if (hasAccountWithoutPush() - && isOptimizingBattery() - && getPreferences().getBoolean(getBatteryOptimizationPreferenceKey(), true)) { - AlertDialog.Builder builder = new AlertDialog.Builder(this); - builder.setTitle(R.string.battery_optimizations_enabled); - builder.setMessage(R.string.battery_optimizations_enabled_dialog); - builder.setPositiveButton(R.string.next, (dialog, which) -> { - Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS); - Uri uri = Uri.parse("package:" + getPackageName()); - intent.setData(uri); - try { - startActivityForResult(intent, REQUEST_BATTERY_OP); - } catch (ActivityNotFoundException e) { - Toast.makeText(this, R.string.device_does_not_support_battery_op, Toast.LENGTH_SHORT).show(); - } - }); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { - builder.setOnDismissListener(dialog -> setNeverAskForBatteryOptimizationsAgain()); - } - AlertDialog dialog = builder.create(); - dialog.setCanceledOnTouchOutside(false); - dialog.show(); - } - } - - private boolean hasAccountWithoutPush() { - for (Account account : xmppConnectionService.getAccounts()) { - if (account.getStatus() == Account.State.ONLINE && !xmppConnectionService.getPushManagementService().available(account)) { - return true; - } - } - return false; - } - - private void notifyFragmentOfBackendConnected(@IdRes int id) { - final Fragment fragment = getFragmentManager().findFragmentById(id); - if (fragment != null && fragment instanceof XmppFragment) { - ((XmppFragment) fragment).onBackendConnected(); - } - } - - private void refreshFragment(@IdRes int id) { - final Fragment fragment = getFragmentManager().findFragmentById(id); - if (fragment != null && fragment instanceof XmppFragment) { - ((XmppFragment) fragment).refresh(); - } - } - - private boolean processViewIntent(Intent intent) { - Log.d(Config.LOGTAG,"process view intent"); - String uuid = intent.getStringExtra(EXTRA_CONVERSATION); - Conversation conversation = uuid != null ? xmppConnectionService.findConversationByUuid(uuid) : null; - if (conversation == null) { - Log.d(Config.LOGTAG, "unable to view conversation with uuid:" + uuid); - return false; - } - openConversation(conversation, intent.getExtras()); - return true; - } - - @Override - public void onRequestPermissionsResult(int requestCode,@NonNull String permissions[], @NonNull int[] grantResults) { - UriHandlerActivity.onRequestPermissionResult(this, requestCode, grantResults); - if (grantResults.length > 0) { - if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { - switch(requestCode) { - case REQUEST_OPEN_MESSAGE: - refreshUiReal(); - ConversationFragment.openPendingMessage(this); - break; - case REQUEST_PLAY_PAUSE: - ConversationFragment.startStopPending(this); - break; - } - } - } - } - - @Override - public void onActivityResult(int requestCode, int resultCode, final Intent data) { - super.onActivityResult(requestCode, resultCode, data); - ActivityResult activityResult = ActivityResult.of(requestCode, resultCode, data); - if (xmppConnectionService != null) { - handleActivityResult(activityResult); - } else { - this.postponedActivityResult.push(activityResult); - } - } - - private void handleActivityResult(ActivityResult activityResult) { - if (activityResult.resultCode == Activity.RESULT_OK) { - handlePositiveActivityResult(activityResult.requestCode, activityResult.data); - } else { - handleNegativeActivityResult(activityResult.requestCode); - } - } - - private void handleNegativeActivityResult(int requestCode) { - Conversation conversation = ConversationFragment.getConversationReliable(this); - switch (requestCode) { - case REQUEST_DECRYPT_PGP: - if (conversation == null) { - break; - } - conversation.getAccount().getPgpDecryptionService().giveUpCurrentDecryption(); - break; - case REQUEST_BATTERY_OP: - setNeverAskForBatteryOptimizationsAgain(); - break; - } - } - - private void handlePositiveActivityResult(int requestCode, final Intent data) { - Log.d(Config.LOGTAG,"positive activity result"); - Conversation conversation = ConversationFragment.getConversationReliable(this); - if (conversation == null) { - Log.d(Config.LOGTAG,"conversation not found"); - return; - } - switch (requestCode) { - case REQUEST_DECRYPT_PGP: - conversation.getAccount().getPgpDecryptionService().continueDecryption(data); - break; - case REQUEST_CHOOSE_PGP_ID: - long id = data.getLongExtra(OpenPgpApi.EXTRA_SIGN_KEY_ID, 0); - if (id != 0) { - conversation.getAccount().setPgpSignId(id); - announcePgp(conversation.getAccount(), null, null, onOpenPGPKeyPublished); - } else { - choosePgpSignId(conversation.getAccount()); - } - break; - case REQUEST_ANNOUNCE_PGP: - announcePgp(conversation.getAccount(), conversation, data, onOpenPGPKeyPublished); - break; - } - } - - @Override - protected void onCreate(final Bundle savedInstanceState) { + protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); - new EmojiService(this).init(); - this.binding = DataBindingUtil.setContentView(this, R.layout.activity_conversations); - this.getFragmentManager().addOnBackStackChangedListener(this::invalidateActionBarTitle); - this.getFragmentManager().addOnBackStackChangedListener(this::showDialogsIfMainIsOverview); - this.initializeFragments(); - this.invalidateActionBarTitle(); - final Intent intent; - if (savedInstanceState == null) { - intent = getIntent(); - } else { - intent = savedInstanceState.getParcelable("intent"); - } - if (isViewIntent(intent)) { - pendingViewIntent.push(intent); - setIntent(createLauncherIntent(this)); - } - } - - @Override - public boolean onCreateOptionsMenu(Menu menu) { - getMenuInflater().inflate(R.menu.activity_conversations, menu); - MenuItem qrCodeScanMenuItem = menu.findItem(R.id.action_scan_qr_code); - if (qrCodeScanMenuItem != null) { - Fragment fragment = getFragmentManager().findFragmentById(R.id.main_fragment); - boolean visible = getResources().getBoolean(R.bool.show_qr_code_scan) - && fragment != null - && fragment instanceof ConversationsOverviewFragment; - qrCodeScanMenuItem.setVisible(visible); - } - return super.onCreateOptionsMenu(menu); - } - - @Override - public void onConversationSelected(Conversation conversation) { - if (ConversationFragment.getConversation(this) == conversation) { - Log.d(Config.LOGTAG,"ignore onConversationSelected() because conversation is already open"); - return; - } - openConversation(conversation, null); - } - - private void openConversation(Conversation conversation, Bundle extras) { - ConversationFragment conversationFragment = (ConversationFragment) getFragmentManager().findFragmentById(R.id.secondary_fragment); - final boolean mainNeedsRefresh; - if (conversationFragment == null) { - mainNeedsRefresh = false; - Fragment mainFragment = getFragmentManager().findFragmentById(R.id.main_fragment); - if (mainFragment != null && mainFragment instanceof ConversationFragment) { - conversationFragment = (ConversationFragment) mainFragment; - } else { - conversationFragment = new ConversationFragment(); - FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction(); - fragmentTransaction.replace(R.id.main_fragment, conversationFragment); - fragmentTransaction.addToBackStack(null); - fragmentTransaction.commit(); - } - } else { - mainNeedsRefresh = true; - } - conversationFragment.reInit(conversation, extras == null ? new Bundle() : extras); - if (mainNeedsRefresh) { - refreshFragment(R.id.main_fragment); - } else { - invalidateActionBarTitle(); - } - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - switch (item.getItemId()) { - case android.R.id.home: - FragmentManager fm = getFragmentManager(); - if (fm.getBackStackEntryCount() > 0) { - fm.popBackStack(); - return true; - } - break; - case R.id.action_scan_qr_code: - UriHandlerActivity.scan(this); - return true; - } - return super.onOptionsItemSelected(item); - } - - @Override - public void onSaveInstanceState(Bundle savedInstanceState) { - Intent pendingIntent = pendingViewIntent.peek(); - savedInstanceState.putParcelable("intent", pendingIntent != null ? pendingIntent : getIntent()); - super.onSaveInstanceState(savedInstanceState); - } - - @Override - protected void onStart() { - final int theme = findTheme(); - if (this.mTheme != theme) { - this.mSkipBackgroundBinding = true; - recreate(); - } else { - this.mSkipBackgroundBinding = false; - } - mRedirectInProcess.set(false); - super.onStart(); - } - - @Override - protected void onNewIntent(final Intent intent) { - if (isViewIntent(intent)) { - if (xmppConnectionService != null) { - processViewIntent(intent); - } else { - pendingViewIntent.push(intent); - } - } - setIntent(createLauncherIntent(this)); - } - - @Override - public void onPause() { - this.mActivityPaused = true; - super.onPause(); - } - - @Override - public void onResume() { - super.onResume(); - this.mActivityPaused = false; - } - - private void initializeFragments() { - FragmentTransaction transaction = getFragmentManager().beginTransaction(); - Fragment mainFragment = getFragmentManager().findFragmentById(R.id.main_fragment); - Fragment secondaryFragment = getFragmentManager().findFragmentById(R.id.secondary_fragment); - if (mainFragment != null) { - Log.d(Config.LOGTAG, "initializeFragment(). main fragment exists"); - if (binding.secondaryFragment != null) { - if (mainFragment instanceof ConversationFragment) { - Log.d(Config.LOGTAG, "gained secondary fragment. moving..."); - getFragmentManager().popBackStack(); - transaction.remove(mainFragment); - transaction.commit(); - getFragmentManager().executePendingTransactions(); - transaction = getFragmentManager().beginTransaction(); - transaction.replace(R.id.secondary_fragment, mainFragment); - transaction.replace(R.id.main_fragment, new ConversationsOverviewFragment()); - transaction.commit(); - return; - } - } else { - if (secondaryFragment != null && secondaryFragment instanceof ConversationFragment) { - Log.d(Config.LOGTAG, "lost secondary fragment. moving..."); - transaction.remove(secondaryFragment); - transaction.commit(); - getFragmentManager().executePendingTransactions(); - transaction = getFragmentManager().beginTransaction(); - transaction.replace(R.id.main_fragment, secondaryFragment); - transaction.addToBackStack(null); - transaction.commit(); - return; - } - } - } else { - transaction.replace(R.id.main_fragment, new ConversationsOverviewFragment()); - } - if (binding.secondaryFragment != null && secondaryFragment == null) { - transaction.replace(R.id.secondary_fragment, new ConversationFragment()); - } - transaction.commit(); - } - - private void invalidateActionBarTitle() { - final ActionBar actionBar = getSupportActionBar(); - if (actionBar != null) { - Fragment mainFragment = getFragmentManager().findFragmentById(R.id.main_fragment); - if (mainFragment != null && mainFragment instanceof ConversationFragment) { - final Conversation conversation = ((ConversationFragment) mainFragment).getConversation(); - if (conversation != null) { - actionBar.setTitle(conversation.getName()); - actionBar.setDisplayHomeAsUpEnabled(true); - return; - } - } - actionBar.setTitle(R.string.app_name); - actionBar.setDisplayHomeAsUpEnabled(false); - } - } - - @Override - public void onConversationArchived(Conversation conversation) { - if (performRedirectIfNecessary(conversation, false)) { - return; - } - Fragment mainFragment = getFragmentManager().findFragmentById(R.id.main_fragment); - if (mainFragment != null && mainFragment instanceof ConversationFragment) { - getFragmentManager().popBackStack(); - return; - } - Fragment secondaryFragment = getFragmentManager().findFragmentById(R.id.secondary_fragment); - if (secondaryFragment != null && secondaryFragment instanceof ConversationFragment) { - if (((ConversationFragment) secondaryFragment).getConversation() == conversation) { - Conversation suggestion = ConversationsOverviewFragment.getSuggestion(this, conversation); - if (suggestion != null) { - openConversation(suggestion, null); - } - } - } - } - - @Override - public void onConversationsListItemUpdated() { - Fragment fragment = getFragmentManager().findFragmentById(R.id.main_fragment); - if (fragment != null && fragment instanceof ConversationsOverviewFragment) { - ((ConversationsOverviewFragment) fragment).refresh(); - } - } - - @Override - public void switchToConversation(Conversation conversation) { - Log.d(Config.LOGTAG,"override"); - openConversation(conversation,null); - } - - @Override - public void onConversationRead(Conversation conversation) { - if (!mActivityPaused && pendingViewIntent.peek() == null) { - xmppConnectionService.sendReadMarker(conversation); - } else { - Log.d(Config.LOGTAG,"ignoring read callback. mActivityPaused="+Boolean.toString(mActivityPaused)); - } - } - - @Override - public void onAccountUpdate() { - this.refreshUi(); - } - - @Override - public void onConversationUpdate() { - if (performRedirectIfNecessary(false)) { - return; - } - this.refreshUi(); - } - - @Override - public void onRosterUpdate() { - this.refreshUi(); - } - - @Override - public void OnUpdateBlocklist(OnUpdateBlocklist.Status status) { - this.refreshUi(); - } - - @Override - public void onShowErrorToast(int resId) { - runOnUiThread(() -> Toast.makeText(this, resId, Toast.LENGTH_SHORT).show()); + startActivity(new Intent(this, ConversationsActivity.class)); + finish(); } } diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java index 650fa0e25..c527eba8d 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java +++ b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java @@ -28,7 +28,6 @@ import android.support.v13.view.inputmethod.InputConnectionCompat; import android.support.v13.view.inputmethod.InputContentInfoCompat; import android.text.Editable; import android.util.Log; -import android.util.Pair; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.Gravity; @@ -140,7 +139,7 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke private Conversation conversation; private FragmentConversationBinding binding; private Toast messageLoaderToast; - private ConversationActivity activity; + private ConversationsActivity activity; private boolean reInitRequiredOnStart = true; @@ -794,10 +793,10 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke public void onAttach(Activity activity) { super.onAttach(activity); Log.d(Config.LOGTAG, "ConversationFragment.onAttach()"); - if (activity instanceof ConversationActivity) { - this.activity = (ConversationActivity) activity; + if (activity instanceof ConversationsActivity) { + this.activity = (ConversationsActivity) activity; } else { - throw new IllegalStateException("Trying to attach fragment to activity that is not the ConversationActivity"); + throw new IllegalStateException("Trying to attach fragment to activity that is not the ConversationsActivity"); } } @@ -1844,10 +1843,10 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke } private void processExtras(Bundle extras) { - final String downloadUuid = extras.getString(ConversationActivity.EXTRA_DOWNLOAD_UUID); - final String text = extras.getString(ConversationActivity.EXTRA_TEXT); - final String nick = extras.getString(ConversationActivity.EXTRA_NICK); - final boolean pm = extras.getBoolean(ConversationActivity.EXTRA_IS_PRIVATE_MESSAGE, false); + final String downloadUuid = extras.getString(ConversationsActivity.EXTRA_DOWNLOAD_UUID); + final String text = extras.getString(ConversationsActivity.EXTRA_TEXT); + final String nick = extras.getString(ConversationsActivity.EXTRA_NICK); + final boolean pm = extras.getBoolean(ConversationsActivity.EXTRA_IS_PRIVATE_MESSAGE, false); if (nick != null) { if (pm) { Jid jid = conversation.getJid(); diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java b/src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java new file mode 100644 index 000000000..39d2540e1 --- /dev/null +++ b/src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java @@ -0,0 +1,618 @@ +/* + * Copyright (c) 2018, Daniel Gultsch All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation and/or + * other materials provided with the distribution. + * + * 3. Neither the name of the copyright holder nor the names of its contributors + * may be used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package eu.siacs.conversations.ui; + + +import android.annotation.SuppressLint; +import android.app.Activity; +import android.app.Fragment; +import android.app.FragmentManager; +import android.app.FragmentTransaction; +import android.content.ActivityNotFoundException; +import android.content.Context; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.databinding.DataBindingUtil; +import android.net.Uri; +import android.os.Build; +import android.os.Bundle; +import android.provider.Settings; +import android.support.annotation.IdRes; +import android.support.annotation.NonNull; +import android.support.v7.app.ActionBar; +import android.support.v7.app.AlertDialog; +import android.util.Log; +import android.view.Menu; +import android.view.MenuItem; +import android.widget.Toast; + +import org.openintents.openpgp.util.OpenPgpApi; + +import java.util.concurrent.atomic.AtomicBoolean; + +import eu.siacs.conversations.Config; +import eu.siacs.conversations.R; +import eu.siacs.conversations.databinding.ActivityConversationsBinding; +import eu.siacs.conversations.entities.Account; +import eu.siacs.conversations.entities.Conversation; +import eu.siacs.conversations.services.XmppConnectionService; +import eu.siacs.conversations.ui.interfaces.OnConversationArchived; +import eu.siacs.conversations.ui.interfaces.OnConversationRead; +import eu.siacs.conversations.ui.interfaces.OnConversationSelected; +import eu.siacs.conversations.ui.interfaces.OnConversationsListItemUpdated; +import eu.siacs.conversations.ui.service.EmojiService; +import eu.siacs.conversations.ui.util.ActivityResult; +import eu.siacs.conversations.ui.util.PendingItem; +import eu.siacs.conversations.utils.ExceptionHelper; +import eu.siacs.conversations.xmpp.OnUpdateBlocklist; + +import static eu.siacs.conversations.ui.ConversationFragment.REQUEST_DECRYPT_PGP; + +public class ConversationsActivity extends XmppActivity implements OnConversationSelected, OnConversationArchived, OnConversationsListItemUpdated, OnConversationRead, XmppConnectionService.OnAccountUpdate, XmppConnectionService.OnConversationUpdate, XmppConnectionService.OnRosterUpdate, OnUpdateBlocklist, XmppConnectionService.OnShowErrorToast { + + public static final String ACTION_VIEW_CONVERSATION = "eu.siacs.conversations.action.VIEW"; + public static final String EXTRA_CONVERSATION = "conversationUuid"; + public static final String EXTRA_DOWNLOAD_UUID = "eu.siacs.conversations.download_uuid"; + public static final String EXTRA_TEXT = "text"; + public static final String EXTRA_NICK = "nick"; + public static final String EXTRA_IS_PRIVATE_MESSAGE = "pm"; + + public static final int REQUEST_OPEN_MESSAGE = 0x9876; + public static final int REQUEST_PLAY_PAUSE = 0x5432; + + + //secondary fragment (when holding the conversation, must be initialized before refreshing the overview fragment + private static final @IdRes + int[] FRAGMENT_ID_NOTIFICATION_ORDER = {R.id.secondary_fragment, R.id.main_fragment}; + private final PendingItem pendingViewIntent = new PendingItem<>(); + private final PendingItem postponedActivityResult = new PendingItem<>(); + private ActivityConversationsBinding binding; + private boolean mActivityPaused = true; + private AtomicBoolean mRedirectInProcess = new AtomicBoolean(false); + + private static boolean isViewIntent(Intent i) { + return i != null && ACTION_VIEW_CONVERSATION.equals(i.getAction()) && i.hasExtra(EXTRA_CONVERSATION); + } + + private static Intent createLauncherIntent(Context context) { + final Intent intent = new Intent(context, ConversationsActivity.class); + intent.setAction(Intent.ACTION_MAIN); + intent.addCategory(Intent.CATEGORY_LAUNCHER); + return intent; + } + + @Override + protected void refreshUiReal() { + for (@IdRes int id : FRAGMENT_ID_NOTIFICATION_ORDER) { + refreshFragment(id); + } + } + + @Override + void onBackendConnected() { + if (performRedirectIfNecessary(true)) { + return; + } + xmppConnectionService.getNotificationService().setIsInForeground(true); + Intent intent = pendingViewIntent.pop(); + if (intent != null) { + if (processViewIntent(intent)) { + if (binding.secondaryFragment != null) { + notifyFragmentOfBackendConnected(R.id.main_fragment); + } + invalidateActionBarTitle(); + return; + } + } + for (@IdRes int id : FRAGMENT_ID_NOTIFICATION_ORDER) { + notifyFragmentOfBackendConnected(id); + } + + ActivityResult activityResult = postponedActivityResult.pop(); + if (activityResult != null) { + handleActivityResult(activityResult); + } + + invalidateActionBarTitle(); + if (binding.secondaryFragment != null && ConversationFragment.getConversation(this) == null) { + Conversation conversation = ConversationsOverviewFragment.getSuggestion(this); + if (conversation != null) { + openConversation(conversation, null); + } + } + showDialogsIfMainIsOverview(); + } + + private boolean performRedirectIfNecessary(boolean noAnimation) { + return performRedirectIfNecessary(null, noAnimation); + } + + private boolean performRedirectIfNecessary(final Conversation ignore, final boolean noAnimation) { + if (xmppConnectionService == null) { + return false; + } + boolean isConversationsListEmpty = xmppConnectionService.isConversationsListEmpty(ignore); + if (isConversationsListEmpty && mRedirectInProcess.compareAndSet(false, true)) { + final Intent intent = getRedirectionIntent(noAnimation); + runOnUiThread(() -> { + startActivity(intent); + if (noAnimation) { + overridePendingTransition(0, 0); + } + }); + } + return mRedirectInProcess.get(); + } + + private Intent getRedirectionIntent(boolean noAnimation) { + Account pendingAccount = xmppConnectionService.getPendingAccount(); + Intent intent; + if (pendingAccount != null) { + intent = new Intent(this, EditAccountActivity.class); + intent.putExtra("jid", pendingAccount.getJid().asBareJid().toString()); + } else { + if (xmppConnectionService.getAccounts().size() == 0) { + if (Config.X509_VERIFICATION) { + intent = new Intent(this, ManageAccountActivity.class); + } else if (Config.MAGIC_CREATE_DOMAIN != null) { + intent = new Intent(this, WelcomeActivity.class); + WelcomeActivity.addInviteUri(intent, getIntent()); + } else { + intent = new Intent(this, EditAccountActivity.class); + } + } else { + intent = new Intent(this, StartConversationActivity.class); + } + } + intent.putExtra("init", true); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); + if (noAnimation) { + intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); + } + return intent; + } + + private void showDialogsIfMainIsOverview() { + if (xmppConnectionService == null) { + return; + } + final Fragment fragment = getFragmentManager().findFragmentById(R.id.main_fragment); + if (fragment != null && fragment instanceof ConversationsOverviewFragment) { + if (ExceptionHelper.checkForCrash(this)) { + return; + } + openBatteryOptimizationDialogIfNeeded(); + } + } + + private String getBatteryOptimizationPreferenceKey() { + @SuppressLint("HardwareIds") String device = Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID); + return "show_battery_optimization" + (device == null ? "" : device); + } + + private void setNeverAskForBatteryOptimizationsAgain() { + getPreferences().edit().putBoolean(getBatteryOptimizationPreferenceKey(), false).apply(); + } + + private void openBatteryOptimizationDialogIfNeeded() { + if (hasAccountWithoutPush() + && isOptimizingBattery() + && getPreferences().getBoolean(getBatteryOptimizationPreferenceKey(), true)) { + AlertDialog.Builder builder = new AlertDialog.Builder(this); + builder.setTitle(R.string.battery_optimizations_enabled); + builder.setMessage(R.string.battery_optimizations_enabled_dialog); + builder.setPositiveButton(R.string.next, (dialog, which) -> { + Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS); + Uri uri = Uri.parse("package:" + getPackageName()); + intent.setData(uri); + try { + startActivityForResult(intent, REQUEST_BATTERY_OP); + } catch (ActivityNotFoundException e) { + Toast.makeText(this, R.string.device_does_not_support_battery_op, Toast.LENGTH_SHORT).show(); + } + }); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { + builder.setOnDismissListener(dialog -> setNeverAskForBatteryOptimizationsAgain()); + } + AlertDialog dialog = builder.create(); + dialog.setCanceledOnTouchOutside(false); + dialog.show(); + } + } + + private boolean hasAccountWithoutPush() { + for (Account account : xmppConnectionService.getAccounts()) { + if (account.getStatus() == Account.State.ONLINE && !xmppConnectionService.getPushManagementService().available(account)) { + return true; + } + } + return false; + } + + private void notifyFragmentOfBackendConnected(@IdRes int id) { + final Fragment fragment = getFragmentManager().findFragmentById(id); + if (fragment != null && fragment instanceof XmppFragment) { + ((XmppFragment) fragment).onBackendConnected(); + } + } + + private void refreshFragment(@IdRes int id) { + final Fragment fragment = getFragmentManager().findFragmentById(id); + if (fragment != null && fragment instanceof XmppFragment) { + ((XmppFragment) fragment).refresh(); + } + } + + private boolean processViewIntent(Intent intent) { + String uuid = intent.getStringExtra(EXTRA_CONVERSATION); + Conversation conversation = uuid != null ? xmppConnectionService.findConversationByUuid(uuid) : null; + if (conversation == null) { + Log.d(Config.LOGTAG, "unable to view conversation with uuid:" + uuid); + return false; + } + openConversation(conversation, intent.getExtras()); + return true; + } + + @Override + public void onRequestPermissionsResult(int requestCode,@NonNull String permissions[], @NonNull int[] grantResults) { + UriHandlerActivity.onRequestPermissionResult(this, requestCode, grantResults); + if (grantResults.length > 0) { + if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { + switch(requestCode) { + case REQUEST_OPEN_MESSAGE: + refreshUiReal(); + ConversationFragment.openPendingMessage(this); + break; + case REQUEST_PLAY_PAUSE: + ConversationFragment.startStopPending(this); + break; + } + } + } + } + + @Override + public void onActivityResult(int requestCode, int resultCode, final Intent data) { + super.onActivityResult(requestCode, resultCode, data); + ActivityResult activityResult = ActivityResult.of(requestCode, resultCode, data); + if (xmppConnectionService != null) { + handleActivityResult(activityResult); + } else { + this.postponedActivityResult.push(activityResult); + } + } + + private void handleActivityResult(ActivityResult activityResult) { + if (activityResult.resultCode == Activity.RESULT_OK) { + handlePositiveActivityResult(activityResult.requestCode, activityResult.data); + } else { + handleNegativeActivityResult(activityResult.requestCode); + } + } + + private void handleNegativeActivityResult(int requestCode) { + Conversation conversation = ConversationFragment.getConversationReliable(this); + switch (requestCode) { + case REQUEST_DECRYPT_PGP: + if (conversation == null) { + break; + } + conversation.getAccount().getPgpDecryptionService().giveUpCurrentDecryption(); + break; + case REQUEST_BATTERY_OP: + setNeverAskForBatteryOptimizationsAgain(); + break; + } + } + + private void handlePositiveActivityResult(int requestCode, final Intent data) { + Conversation conversation = ConversationFragment.getConversationReliable(this); + if (conversation == null) { + Log.d(Config.LOGTAG,"conversation not found"); + return; + } + switch (requestCode) { + case REQUEST_DECRYPT_PGP: + conversation.getAccount().getPgpDecryptionService().continueDecryption(data); + break; + case REQUEST_CHOOSE_PGP_ID: + long id = data.getLongExtra(OpenPgpApi.EXTRA_SIGN_KEY_ID, 0); + if (id != 0) { + conversation.getAccount().setPgpSignId(id); + announcePgp(conversation.getAccount(), null, null, onOpenPGPKeyPublished); + } else { + choosePgpSignId(conversation.getAccount()); + } + break; + case REQUEST_ANNOUNCE_PGP: + announcePgp(conversation.getAccount(), conversation, data, onOpenPGPKeyPublished); + break; + } + } + + @Override + protected void onCreate(final Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + new EmojiService(this).init(); + this.binding = DataBindingUtil.setContentView(this, R.layout.activity_conversations); + this.getFragmentManager().addOnBackStackChangedListener(this::invalidateActionBarTitle); + this.getFragmentManager().addOnBackStackChangedListener(this::showDialogsIfMainIsOverview); + this.initializeFragments(); + this.invalidateActionBarTitle(); + final Intent intent; + if (savedInstanceState == null) { + intent = getIntent(); + } else { + intent = savedInstanceState.getParcelable("intent"); + } + if (isViewIntent(intent)) { + pendingViewIntent.push(intent); + setIntent(createLauncherIntent(this)); + } + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + getMenuInflater().inflate(R.menu.activity_conversations, menu); + MenuItem qrCodeScanMenuItem = menu.findItem(R.id.action_scan_qr_code); + if (qrCodeScanMenuItem != null) { + Fragment fragment = getFragmentManager().findFragmentById(R.id.main_fragment); + boolean visible = getResources().getBoolean(R.bool.show_qr_code_scan) + && fragment != null + && fragment instanceof ConversationsOverviewFragment; + qrCodeScanMenuItem.setVisible(visible); + } + return super.onCreateOptionsMenu(menu); + } + + @Override + public void onConversationSelected(Conversation conversation) { + if (ConversationFragment.getConversation(this) == conversation) { + Log.d(Config.LOGTAG,"ignore onConversationSelected() because conversation is already open"); + return; + } + openConversation(conversation, null); + } + + private void openConversation(Conversation conversation, Bundle extras) { + ConversationFragment conversationFragment = (ConversationFragment) getFragmentManager().findFragmentById(R.id.secondary_fragment); + final boolean mainNeedsRefresh; + if (conversationFragment == null) { + mainNeedsRefresh = false; + Fragment mainFragment = getFragmentManager().findFragmentById(R.id.main_fragment); + if (mainFragment != null && mainFragment instanceof ConversationFragment) { + conversationFragment = (ConversationFragment) mainFragment; + } else { + conversationFragment = new ConversationFragment(); + FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction(); + fragmentTransaction.replace(R.id.main_fragment, conversationFragment); + fragmentTransaction.addToBackStack(null); + fragmentTransaction.commit(); + } + } else { + mainNeedsRefresh = true; + } + conversationFragment.reInit(conversation, extras == null ? new Bundle() : extras); + if (mainNeedsRefresh) { + refreshFragment(R.id.main_fragment); + } else { + invalidateActionBarTitle(); + } + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case android.R.id.home: + FragmentManager fm = getFragmentManager(); + if (fm.getBackStackEntryCount() > 0) { + fm.popBackStack(); + return true; + } + break; + case R.id.action_scan_qr_code: + UriHandlerActivity.scan(this); + return true; + } + return super.onOptionsItemSelected(item); + } + + @Override + public void onSaveInstanceState(Bundle savedInstanceState) { + Intent pendingIntent = pendingViewIntent.peek(); + savedInstanceState.putParcelable("intent", pendingIntent != null ? pendingIntent : getIntent()); + super.onSaveInstanceState(savedInstanceState); + } + + @Override + protected void onStart() { + final int theme = findTheme(); + if (this.mTheme != theme) { + this.mSkipBackgroundBinding = true; + recreate(); + } else { + this.mSkipBackgroundBinding = false; + } + mRedirectInProcess.set(false); + super.onStart(); + } + + @Override + protected void onNewIntent(final Intent intent) { + if (isViewIntent(intent)) { + if (xmppConnectionService != null) { + processViewIntent(intent); + } else { + pendingViewIntent.push(intent); + } + } + setIntent(createLauncherIntent(this)); + } + + @Override + public void onPause() { + this.mActivityPaused = true; + super.onPause(); + } + + @Override + public void onResume() { + super.onResume(); + this.mActivityPaused = false; + } + + private void initializeFragments() { + FragmentTransaction transaction = getFragmentManager().beginTransaction(); + Fragment mainFragment = getFragmentManager().findFragmentById(R.id.main_fragment); + Fragment secondaryFragment = getFragmentManager().findFragmentById(R.id.secondary_fragment); + if (mainFragment != null) { + if (binding.secondaryFragment != null) { + if (mainFragment instanceof ConversationFragment) { + getFragmentManager().popBackStack(); + transaction.remove(mainFragment); + transaction.commit(); + getFragmentManager().executePendingTransactions(); + transaction = getFragmentManager().beginTransaction(); + transaction.replace(R.id.secondary_fragment, mainFragment); + transaction.replace(R.id.main_fragment, new ConversationsOverviewFragment()); + transaction.commit(); + return; + } + } else { + if (secondaryFragment != null && secondaryFragment instanceof ConversationFragment) { + transaction.remove(secondaryFragment); + transaction.commit(); + getFragmentManager().executePendingTransactions(); + transaction = getFragmentManager().beginTransaction(); + transaction.replace(R.id.main_fragment, secondaryFragment); + transaction.addToBackStack(null); + transaction.commit(); + return; + } + } + } else { + transaction.replace(R.id.main_fragment, new ConversationsOverviewFragment()); + } + if (binding.secondaryFragment != null && secondaryFragment == null) { + transaction.replace(R.id.secondary_fragment, new ConversationFragment()); + } + transaction.commit(); + } + + private void invalidateActionBarTitle() { + final ActionBar actionBar = getSupportActionBar(); + if (actionBar != null) { + Fragment mainFragment = getFragmentManager().findFragmentById(R.id.main_fragment); + if (mainFragment != null && mainFragment instanceof ConversationFragment) { + final Conversation conversation = ((ConversationFragment) mainFragment).getConversation(); + if (conversation != null) { + actionBar.setTitle(conversation.getName()); + actionBar.setDisplayHomeAsUpEnabled(true); + return; + } + } + actionBar.setTitle(R.string.app_name); + actionBar.setDisplayHomeAsUpEnabled(false); + } + } + + @Override + public void onConversationArchived(Conversation conversation) { + if (performRedirectIfNecessary(conversation, false)) { + return; + } + Fragment mainFragment = getFragmentManager().findFragmentById(R.id.main_fragment); + if (mainFragment != null && mainFragment instanceof ConversationFragment) { + getFragmentManager().popBackStack(); + return; + } + Fragment secondaryFragment = getFragmentManager().findFragmentById(R.id.secondary_fragment); + if (secondaryFragment != null && secondaryFragment instanceof ConversationFragment) { + if (((ConversationFragment) secondaryFragment).getConversation() == conversation) { + Conversation suggestion = ConversationsOverviewFragment.getSuggestion(this, conversation); + if (suggestion != null) { + openConversation(suggestion, null); + } + } + } + } + + @Override + public void onConversationsListItemUpdated() { + Fragment fragment = getFragmentManager().findFragmentById(R.id.main_fragment); + if (fragment != null && fragment instanceof ConversationsOverviewFragment) { + ((ConversationsOverviewFragment) fragment).refresh(); + } + } + + @Override + public void switchToConversation(Conversation conversation) { + Log.d(Config.LOGTAG,"override"); + openConversation(conversation,null); + } + + @Override + public void onConversationRead(Conversation conversation) { + if (!mActivityPaused && pendingViewIntent.peek() == null) { + xmppConnectionService.sendReadMarker(conversation); + } else { + Log.d(Config.LOGTAG,"ignoring read callback. mActivityPaused="+Boolean.toString(mActivityPaused)); + } + } + + @Override + public void onAccountUpdate() { + this.refreshUi(); + } + + @Override + public void onConversationUpdate() { + if (performRedirectIfNecessary(false)) { + return; + } + this.refreshUi(); + } + + @Override + public void onRosterUpdate() { + this.refreshUi(); + } + + @Override + public void OnUpdateBlocklist(OnUpdateBlocklist.Status status) { + this.refreshUi(); + } + + @Override + public void onShowErrorToast(int resId) { + runOnUiThread(() -> Toast.makeText(this, resId, Toast.LENGTH_SHORT).show()); + } +} diff --git a/src/main/java/eu/siacs/conversations/ui/XmppActivity.java b/src/main/java/eu/siacs/conversations/ui/XmppActivity.java index d6eee773a..a6d6b0e09 100644 --- a/src/main/java/eu/siacs/conversations/ui/XmppActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/XmppActivity.java @@ -61,7 +61,6 @@ import eu.siacs.conversations.entities.Account; import eu.siacs.conversations.entities.Contact; import eu.siacs.conversations.entities.Conversation; import eu.siacs.conversations.entities.Message; -import eu.siacs.conversations.entities.MucOptions; import eu.siacs.conversations.entities.Presences; import eu.siacs.conversations.services.AvatarService; import eu.siacs.conversations.services.BarcodeProvider; @@ -497,15 +496,15 @@ public abstract class XmppActivity extends AppCompatActivity { } private void switchToConversation(Conversation conversation, String text, String nick, boolean pm, boolean newTask) { - Intent intent = new Intent(this, ConversationActivity.class); - intent.setAction(ConversationActivity.ACTION_VIEW_CONVERSATION); - intent.putExtra(ConversationActivity.EXTRA_CONVERSATION, conversation.getUuid()); + Intent intent = new Intent(this, ConversationsActivity.class); + intent.setAction(ConversationsActivity.ACTION_VIEW_CONVERSATION); + intent.putExtra(ConversationsActivity.EXTRA_CONVERSATION, conversation.getUuid()); if (text != null) { - intent.putExtra(ConversationActivity.EXTRA_TEXT, text); + intent.putExtra(ConversationsActivity.EXTRA_TEXT, text); } if (nick != null) { - intent.putExtra(ConversationActivity.EXTRA_NICK, nick); - intent.putExtra(ConversationActivity.EXTRA_IS_PRIVATE_MESSAGE, pm); + intent.putExtra(ConversationsActivity.EXTRA_NICK, nick); + intent.putExtra(ConversationsActivity.EXTRA_IS_PRIVATE_MESSAGE, pm); } if (newTask) { intent.setFlags(intent.getFlags() diff --git a/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java b/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java index 5cf8efb36..42e3ffe13 100644 --- a/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java +++ b/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java @@ -35,7 +35,6 @@ import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; -import android.view.View.OnLongClickListener; import android.view.ViewGroup; import android.view.WindowManager; import android.widget.ArrayAdapter; @@ -66,7 +65,7 @@ import eu.siacs.conversations.entities.Transferable; import eu.siacs.conversations.persistance.FileBackend; import eu.siacs.conversations.services.MessageArchiveService; import eu.siacs.conversations.services.NotificationService; -import eu.siacs.conversations.ui.ConversationActivity; +import eu.siacs.conversations.ui.ConversationsActivity; import eu.siacs.conversations.ui.ConversationFragment; import eu.siacs.conversations.ui.XmppActivity; import eu.siacs.conversations.ui.service.AudioPlayer; @@ -915,7 +914,7 @@ public class MessageAdapter extends ArrayAdapter implements CopyTextVie public void openDownloadable(Message message) { if (ContextCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { ConversationFragment.registerPendingMessage(activity, message); - ActivityCompat.requestPermissions(activity, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, ConversationActivity.REQUEST_OPEN_MESSAGE); + ActivityCompat.requestPermissions(activity, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, ConversationsActivity.REQUEST_OPEN_MESSAGE); return; } DownloadableFile file = activity.xmppConnectionService.getFileBackend().getFile(message); diff --git a/src/main/java/eu/siacs/conversations/ui/service/AudioPlayer.java b/src/main/java/eu/siacs/conversations/ui/service/AudioPlayer.java index 699e042ba..ce845df36 100644 --- a/src/main/java/eu/siacs/conversations/ui/service/AudioPlayer.java +++ b/src/main/java/eu/siacs/conversations/ui/service/AudioPlayer.java @@ -3,7 +3,6 @@ package eu.siacs.conversations.ui.service; import android.Manifest; import android.content.pm.PackageManager; import android.content.res.ColorStateList; -import android.media.Image; import android.media.MediaPlayer; import android.os.Build; import android.os.Handler; @@ -20,7 +19,7 @@ import java.util.Locale; import eu.siacs.conversations.R; import eu.siacs.conversations.entities.Message; -import eu.siacs.conversations.ui.ConversationActivity; +import eu.siacs.conversations.ui.ConversationsActivity; import eu.siacs.conversations.ui.adapter.MessageAdapter; import eu.siacs.conversations.ui.util.PendingItem; import eu.siacs.conversations.utils.WeakReferenceSet; @@ -107,7 +106,7 @@ public class AudioPlayer implements View.OnClickListener, MediaPlayer.OnCompleti private void startStop(ImageButton playPause) { if (ContextCompat.checkSelfPermission(messageAdapter.getActivity(), Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { pendingOnClickView.push(new WeakReference<>(playPause)); - ActivityCompat.requestPermissions(messageAdapter.getActivity(), new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, ConversationActivity.REQUEST_PLAY_PAUSE); + ActivityCompat.requestPermissions(messageAdapter.getActivity(), new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, ConversationsActivity.REQUEST_PLAY_PAUSE); return; } final RelativeLayout audioPlayer = (RelativeLayout) playPause.getParent(); diff --git a/src/main/res/drawable-hdpi/splash_logo.png b/src/main/res/drawable-hdpi/splash_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d8efc71af8f681b051ba33d9dd335a4a9c275073 GIT binary patch literal 16643 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 AGynhq literal 0 HcmV?d00001 diff --git a/src/main/res/drawable-mdpi/splash_logo.png b/src/main/res/drawable-mdpi/splash_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1b10d1f919e2856073a18ca2a253bb89518d5c8b GIT binary patch literal 10492 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 JPDHLkV1nFuGUWgO literal 0 HcmV?d00001 diff --git a/src/main/res/drawable-xxhdpi/splash_logo.png b/src/main/res/drawable-xxhdpi/splash_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..83c2abe6a7bb0d1ec76c00b6c991bc312b7b57e0 GIT binary patch literal 36548 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 + + + + + + + + diff --git a/src/main/res/values/themes.xml b/src/main/res/values/themes.xml index 2f8cbdad1..2039bfc64 100644 --- a/src/main/res/values/themes.xml +++ b/src/main/res/values/themes.xml @@ -160,4 +160,8 @@ @android:color/black + \ No newline at end of file