diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e63d9a686..47a850c85 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -54,8 +54,8 @@ - - + + @@ -71,7 +71,8 @@ android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="29" tools:ignore="ScopedStorage" /> - @@ -89,7 +90,7 @@ - + @@ -118,21 +119,10 @@ - - - - - - - - - - - - + @@ -141,41 +131,38 @@ + android:launchMode="singleTask" + android:showOnLockScreen="true" + android:supportsPictureInPicture="true" + android:taskAffinity=".call" + android:theme="@style/AppTheme.CallLauncher" /> + android:launchMode="singleTask" + android:showOnLockScreen="true" + android:supportsPictureInPicture="true" + android:taskAffinity=".call" + android:theme="@style/AppTheme.CallLauncher" /> - + android:configChanges="orientation|keyboardHidden|screenSize" + android:theme="@style/FullScreenImageTheme"> - + android:configChanges="orientation|keyboardHidden|screenSize" + android:theme="@style/FullScreenMediaTheme"> - + android:configChanges="orientation|keyboardHidden|screenSize" + android:theme="@style/FullScreenTextTheme"> + android:screenOrientation="portrait" + android:theme="@style/AppTheme" /> + android:theme="@style/AppTheme" + android:exported="true"> - + + + + + + + + + + + + + @@ -260,7 +262,8 @@ android:resource="@xml/contacts" /> - diff --git a/app/src/main/java/com/nextcloud/talk/activities/MainActivity.kt b/app/src/main/java/com/nextcloud/talk/activities/MainActivity.kt index a52e67028..03084f125 100644 --- a/app/src/main/java/com/nextcloud/talk/activities/MainActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/activities/MainActivity.kt @@ -110,7 +110,7 @@ class MainActivity : BaseActivity(), ActionBarProvider { override fun onSuccess(users: List) { if (users.isNotEmpty()) { runOnUiThread { - setDefaultRootController() + openConversationList() } } else { runOnUiThread { @@ -166,33 +166,13 @@ class MainActivity : BaseActivity(), ActionBarProvider { super.onStop() } - private fun setDefaultRootController() { + private fun openConversationList() { val intent = Intent(this, ConversationsListActivity::class.java) intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) intent.putExtras(Bundle()) startActivity(intent) } - fun resetConversationsList() { - userManager.users.subscribe(object : SingleObserver> { - override fun onSubscribe(d: Disposable) { - // unused atm - } - - override fun onSuccess(users: List) { - if (users.isNotEmpty()) { - runOnUiThread { - setDefaultRootController() - } - } - } - - override fun onError(e: Throwable) { - Log.e(TAG, "Error loading existing users", e) - } - }) - } - fun addAccount() { router!!.pushController( RouterTransaction.with(ServerSelectionController()) @@ -348,7 +328,7 @@ class MainActivity : BaseActivity(), ActionBarProvider { if (intent.hasExtra(BundleKeys.KEY_FROM_NOTIFICATION_START_CALL)) { if (intent.getBooleanExtra(BundleKeys.KEY_FROM_NOTIFICATION_START_CALL, false)) { if (!router!!.hasRootController()) { - setDefaultRootController() + openConversationList() } val callNotificationIntent = Intent(this, CallNotificationActivity::class.java) intent.extras?.let { callNotificationIntent.putExtras(it) } diff --git a/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt b/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt index 7f53c7920..41f8e714f 100644 --- a/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt @@ -374,10 +374,10 @@ class ConversationsListActivity : if (showShareToScreen) { hideSearchBar() - actionBar?.setTitle(R.string.send_to_three_dots) + supportActionBar?.setTitle(R.string.send_to_three_dots) } else if (forwardMessage) { hideSearchBar() - actionBar?.setTitle(R.string.nc_forward_to_three_dots) + supportActionBar?.setTitle(R.string.nc_forward_to_three_dots) } else { searchItem!!.isVisible = conversationItems.size > 0 if (adapter!!.hasFilter()) { @@ -1010,8 +1010,7 @@ class ConversationsListActivity : ) } } else { - // TODO - // requestStoragePermission(this@ConversationsListController) + UploadAndShareFilesWorker.requestStoragePermission(this) } } diff --git a/app/src/main/java/com/nextcloud/talk/ui/dialog/ChooseAccountShareToDialogFragment.kt b/app/src/main/java/com/nextcloud/talk/ui/dialog/ChooseAccountShareToDialogFragment.kt index e83937f81..57ea9bcac 100644 --- a/app/src/main/java/com/nextcloud/talk/ui/dialog/ChooseAccountShareToDialogFragment.kt +++ b/app/src/main/java/com/nextcloud/talk/ui/dialog/ChooseAccountShareToDialogFragment.kt @@ -27,6 +27,7 @@ import android.annotation.SuppressLint import android.app.Dialog import android.net.Uri import android.os.Bundle +import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -34,7 +35,6 @@ import androidx.fragment.app.DialogFragment import androidx.recyclerview.widget.LinearLayoutManager import autodagger.AutoInjector import com.google.android.material.dialog.MaterialAlertDialogBuilder -import com.nextcloud.talk.activities.MainActivity import com.nextcloud.talk.adapters.items.AdvancedUserItem import com.nextcloud.talk.application.NextcloudTalkApplication import com.nextcloud.talk.application.NextcloudTalkApplication.Companion.sharedApplication @@ -46,6 +46,8 @@ import com.nextcloud.talk.ui.theme.ViewThemeUtils import com.nextcloud.talk.users.UserManager import eu.davidea.flexibleadapter.FlexibleAdapter import eu.davidea.flexibleadapter.common.SmoothScrollLinearLayoutManager +import io.reactivex.SingleObserver +import io.reactivex.disposables.Disposable import java.net.CookieManager import javax.inject.Inject @@ -160,7 +162,37 @@ class ChooseAccountShareToDialogFragment : DialogFragment() { val user = userItems[position].user if (userManager!!.setUserAsActive(user).blockingGet()) { cookieManager!!.cookieStore.removeAll() - activity?.runOnUiThread { (activity as MainActivity?)!!.resetConversationsList() } + // activity?.runOnUiThread { (activity as MainActivity?)!!.resetConversationsList() } + + userManager!!.users.subscribe(object : SingleObserver> { + override fun onSubscribe(d: Disposable) { + // unused atm + } + + override fun onSuccess(users: List) { + if (users.isNotEmpty()) { + // runOnUiThread { + // setDefaultRootController() + // } + + // val intent = Intent(activity, ConversationsListActivity::class.java) + // + // // val intent = Intent(context, ConversationsListActivity::class.java) + // intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) + // activity?.intent?.extras?.let { intent.putExtras(it) } + // startActivity(intent) + + // startActivity(activity?.intent) + + activity?.recreate() + } + } + + override fun onError(e: Throwable) { + Log.e(TAG, "Error loading existing users", e) + } + }) + dismiss() } }