Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
liberty-chat-android
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
12
Issues
12
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
liberty
chat
liberty-chat-android
Commits
dddf7885
Commit
dddf7885
authored
Jan 15, 2020
by
Thomas Markiewicz
Browse files
Options
Browse Files
Download
Plain Diff
Merged upstream v0.9.9
parents
e1831a93
5da259a7
Changes
178
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
178 changed files
with
8903 additions
and
1865 deletions
+8903
-1865
.buildkite/pipeline.yml
.buildkite/pipeline.yml
+8
-7
build.gradle
build.gradle
+2
-2
gradle.properties
gradle.properties
+1
-1
gradle/wrapper/gradle-wrapper.properties
gradle/wrapper/gradle-wrapper.properties
+1
-1
vector/build.gradle
vector/build.gradle
+4
-2
vector/src/app/java/im/vector/push/fcm/VectorFirebaseMessagingService.kt
...java/im/vector/push/fcm/VectorFirebaseMessagingService.kt
+3
-6
vector/src/appfdroid/java/im/vector/receiver/OnApplicationUpgradeReceiver.kt
...d/java/im/vector/receiver/OnApplicationUpgradeReceiver.kt
+13
-16
vector/src/main/AndroidManifest.xml
vector/src/main/AndroidManifest.xml
+16
-16
vector/src/main/java/im/vector/LoginHandler.java
vector/src/main/java/im/vector/LoginHandler.java
+16
-12
vector/src/main/java/im/vector/Matrix.java
vector/src/main/java/im/vector/Matrix.java
+28
-5
vector/src/main/java/im/vector/RegistrationManager.java
vector/src/main/java/im/vector/RegistrationManager.java
+197
-96
vector/src/main/java/im/vector/VectorApp.java
vector/src/main/java/im/vector/VectorApp.java
+7
-10
vector/src/main/java/im/vector/activity/AbstractWidgetActivity.kt
...rc/main/java/im/vector/activity/AbstractWidgetActivity.kt
+7
-6
vector/src/main/java/im/vector/activity/CommonActivityUtils.java
...src/main/java/im/vector/activity/CommonActivityUtils.java
+13
-30
vector/src/main/java/im/vector/activity/DialogUtils.kt
vector/src/main/java/im/vector/activity/DialogUtils.kt
+67
-0
vector/src/main/java/im/vector/activity/HandleBackParticipant.kt
...src/main/java/im/vector/activity/HandleBackParticipant.kt
+31
-0
vector/src/main/java/im/vector/activity/IntegrationManagerActivity.kt
...ain/java/im/vector/activity/IntegrationManagerActivity.kt
+2
-2
vector/src/main/java/im/vector/activity/JitsiCallActivity.java
...r/src/main/java/im/vector/activity/JitsiCallActivity.java
+29
-8
vector/src/main/java/im/vector/activity/LoginActivity.java
vector/src/main/java/im/vector/activity/LoginActivity.java
+144
-18
vector/src/main/java/im/vector/activity/PhoneNumberAdditionActivity.java
.../java/im/vector/activity/PhoneNumberAdditionActivity.java
+6
-4
vector/src/main/java/im/vector/activity/PhoneNumberVerificationActivity.java
...a/im/vector/activity/PhoneNumberVerificationActivity.java
+0
-252
vector/src/main/java/im/vector/activity/PhoneNumberVerificationActivity.kt
...ava/im/vector/activity/PhoneNumberVerificationActivity.kt
+279
-0
vector/src/main/java/im/vector/activity/StickerPickerActivity.kt
...src/main/java/im/vector/activity/StickerPickerActivity.kt
+1
-1
vector/src/main/java/im/vector/activity/VectorAppCompatActivity.kt
...c/main/java/im/vector/activity/VectorAppCompatActivity.kt
+26
-2
vector/src/main/java/im/vector/activity/VectorCallViewActivity.java
.../main/java/im/vector/activity/VectorCallViewActivity.java
+49
-0
vector/src/main/java/im/vector/activity/VectorMemberDetailsActivity.java
.../java/im/vector/activity/VectorMemberDetailsActivity.java
+7
-2
vector/src/main/java/im/vector/activity/VectorRoomActivity.java
.../src/main/java/im/vector/activity/VectorRoomActivity.java
+65
-24
vector/src/main/java/im/vector/activity/VectorRoomCreationActivity.java
...n/java/im/vector/activity/VectorRoomCreationActivity.java
+62
-48
vector/src/main/java/im/vector/activity/VectorRoomInviteMembersActivity.java
...a/im/vector/activity/VectorRoomInviteMembersActivity.java
+24
-0
vector/src/main/java/im/vector/activity/VectorSettingsActivity.kt
...rc/main/java/im/vector/activity/VectorSettingsActivity.kt
+11
-8
vector/src/main/java/im/vector/activity/WidgetActivity.kt
vector/src/main/java/im/vector/activity/WidgetActivity.kt
+54
-302
vector/src/main/java/im/vector/adapters/PeopleAdapter.java
vector/src/main/java/im/vector/adapters/PeopleAdapter.java
+17
-4
vector/src/main/java/im/vector/contacts/ContactsManager.java
vector/src/main/java/im/vector/contacts/ContactsManager.java
+30
-0
vector/src/main/java/im/vector/contacts/PIDsRetriever.java
vector/src/main/java/im/vector/contacts/PIDsRetriever.java
+17
-1
vector/src/main/java/im/vector/dialogs/BackgroundSyncModeChooserDialog.kt
...java/im/vector/dialogs/BackgroundSyncModeChooserDialog.kt
+181
-0
vector/src/main/java/im/vector/features/hhs/ResourceLimitEventListener.kt
...java/im/vector/features/hhs/ResourceLimitEventListener.kt
+2
-2
vector/src/main/java/im/vector/fragments/PeopleFragment.java
vector/src/main/java/im/vector/fragments/PeopleFragment.java
+27
-0
vector/src/main/java/im/vector/fragments/VectorBaseBottomSheetDialogFragment.kt
...m/vector/fragments/VectorBaseBottomSheetDialogFragment.kt
+92
-0
vector/src/main/java/im/vector/fragments/VectorBaseMvRxFragment.kt
...c/main/java/im/vector/fragments/VectorBaseMvRxFragment.kt
+101
-0
vector/src/main/java/im/vector/fragments/VectorRoomDetailsMembersFragment.java
...im/vector/fragments/VectorRoomDetailsMembersFragment.java
+7
-2
vector/src/main/java/im/vector/fragments/VectorSearchPeopleListFragment.java
...a/im/vector/fragments/VectorSearchPeopleListFragment.java
+11
-0
vector/src/main/java/im/vector/fragments/VectorSettingsPreferencesFragment.kt
.../im/vector/fragments/VectorSettingsPreferencesFragment.kt
+545
-122
vector/src/main/java/im/vector/fragments/discovery/DiscoverySettingsViewModel.kt
.../vector/fragments/discovery/DiscoverySettingsViewModel.kt
+577
-0
vector/src/main/java/im/vector/fragments/discovery/DiscoverySharedViewModel.kt
...im/vector/fragments/discovery/DiscoverySharedViewModel.kt
+33
-0
vector/src/main/java/im/vector/fragments/discovery/SetIdentityServerFragment.kt
...m/vector/fragments/discovery/SetIdentityServerFragment.kt
+191
-0
vector/src/main/java/im/vector/fragments/discovery/SetIdentityServerViewModel.kt
.../vector/fragments/discovery/SetIdentityServerViewModel.kt
+158
-0
vector/src/main/java/im/vector/fragments/discovery/SettingsButtonItem.kt
.../java/im/vector/fragments/discovery/SettingsButtonItem.kt
+73
-0
vector/src/main/java/im/vector/fragments/discovery/SettingsDiscoveryController.kt
...vector/fragments/discovery/SettingsDiscoveryController.kt
+294
-0
vector/src/main/java/im/vector/fragments/discovery/SettingsImageItem.kt
...n/java/im/vector/fragments/discovery/SettingsImageItem.kt
+76
-0
vector/src/main/java/im/vector/fragments/discovery/SettingsInfoItem.kt
...in/java/im/vector/fragments/discovery/SettingsInfoItem.kt
+74
-0
vector/src/main/java/im/vector/fragments/discovery/SettingsItem.kt
...c/main/java/im/vector/fragments/discovery/SettingsItem.kt
+91
-0
vector/src/main/java/im/vector/fragments/discovery/SettingsItemText.kt
...in/java/im/vector/fragments/discovery/SettingsItemText.kt
+85
-0
vector/src/main/java/im/vector/fragments/discovery/SettingsLoadingItem.kt
...java/im/vector/fragments/discovery/SettingsLoadingItem.kt
+52
-0
vector/src/main/java/im/vector/fragments/discovery/SettingsSectionTitle.kt
...ava/im/vector/fragments/discovery/SettingsSectionTitle.kt
+52
-0
vector/src/main/java/im/vector/fragments/discovery/SettingsTextButtonItem.kt
...a/im/vector/fragments/discovery/SettingsTextButtonItem.kt
+177
-0
vector/src/main/java/im/vector/fragments/discovery/VectorSettingsDiscoveryFragment.kt
...or/fragments/discovery/VectorSettingsDiscoveryFragment.kt
+199
-0
vector/src/main/java/im/vector/fragments/roomwidgets/RoomWidgetFragment.kt
...ava/im/vector/fragments/roomwidgets/RoomWidgetFragment.kt
+353
-0
vector/src/main/java/im/vector/fragments/roomwidgets/RoomWidgetPermissionBottomSheet.kt
.../fragments/roomwidgets/RoomWidgetPermissionBottomSheet.kt
+131
-0
vector/src/main/java/im/vector/fragments/roomwidgets/RoomWidgetPermissionViewModel.kt
...or/fragments/roomwidgets/RoomWidgetPermissionViewModel.kt
+151
-0
vector/src/main/java/im/vector/fragments/roomwidgets/RoomWidgetViewModel.kt
...va/im/vector/fragments/roomwidgets/RoomWidgetViewModel.kt
+316
-0
vector/src/main/java/im/vector/fragments/roomwidgets/WebviewPermissionUtils.kt
...im/vector/fragments/roomwidgets/WebviewPermissionUtils.kt
+62
-0
vector/src/main/java/im/vector/fragments/terms/AcceptTermsFragment.kt
...ain/java/im/vector/fragments/terms/AcceptTermsFragment.kt
+15
-8
vector/src/main/java/im/vector/fragments/terms/AcceptTermsViewModel.kt
...in/java/im/vector/fragments/terms/AcceptTermsViewModel.kt
+5
-18
vector/src/main/java/im/vector/fragments/terms/ServiceTermsArgs.kt
...c/main/java/im/vector/fragments/terms/ServiceTermsArgs.kt
+1
-1
vector/src/main/java/im/vector/fragments/verification/SasVerificationViewModel.kt
...vector/fragments/verification/SasVerificationViewModel.kt
+2
-2
vector/src/main/java/im/vector/notifications/NotificationUtils.kt
...rc/main/java/im/vector/notifications/NotificationUtils.kt
+13
-8
vector/src/main/java/im/vector/push/PushManager.java
vector/src/main/java/im/vector/push/PushManager.java
+28
-1
vector/src/main/java/im/vector/receiver/VectorBootReceiver.java
.../src/main/java/im/vector/receiver/VectorBootReceiver.java
+4
-0
vector/src/main/java/im/vector/services/EventStreamService.java
.../src/main/java/im/vector/services/EventStreamService.java
+3
-3
vector/src/main/java/im/vector/services/EventStreamServiceX.kt
...r/src/main/java/im/vector/services/EventStreamServiceX.kt
+120
-38
vector/src/main/java/im/vector/settings/VectorLocale.kt
vector/src/main/java/im/vector/settings/VectorLocale.kt
+69
-16
vector/src/main/java/im/vector/store/LoginStorage.java
vector/src/main/java/im/vector/store/LoginStorage.java
+2
-1
vector/src/main/java/im/vector/ui/badge/BadgeProxy.kt
vector/src/main/java/im/vector/ui/badge/BadgeProxy.kt
+3
-2
vector/src/main/java/im/vector/ui/util/TextView.kt
vector/src/main/java/im/vector/ui/util/TextView.kt
+55
-0
vector/src/main/java/im/vector/util/CallsManager.java
vector/src/main/java/im/vector/util/CallsManager.java
+5
-1
vector/src/main/java/im/vector/util/HomeRoomsViewModel.kt
vector/src/main/java/im/vector/util/HomeRoomsViewModel.kt
+3
-4
vector/src/main/java/im/vector/util/PreferencesManager.java
vector/src/main/java/im/vector/util/PreferencesManager.java
+92
-50
vector/src/main/java/im/vector/util/SlashCommandsParser.java
vector/src/main/java/im/vector/util/SlashCommandsParser.java
+25
-2
vector/src/main/java/im/vector/util/UrlUtil.kt
vector/src/main/java/im/vector/util/UrlUtil.kt
+11
-0
vector/src/main/java/im/vector/view/ActiveWidgetsBanner.java
vector/src/main/java/im/vector/view/ActiveWidgetsBanner.java
+17
-8
vector/src/main/java/im/vector/view/VectorOngoingConferenceCallView.java
.../java/im/vector/view/VectorOngoingConferenceCallView.java
+7
-8
vector/src/main/java/im/vector/webview/ConsentWebViewEventListener.kt
...ain/java/im/vector/webview/ConsentWebViewEventListener.kt
+2
-2
vector/src/main/java/im/vector/widgets/IntegrationManagerConfig.kt
...c/main/java/im/vector/widgets/IntegrationManagerConfig.kt
+0
-1
vector/src/main/java/im/vector/widgets/RegisterResponse.kt
vector/src/main/java/im/vector/widgets/RegisterResponse.kt
+25
-0
vector/src/main/java/im/vector/widgets/WidgetError.java
vector/src/main/java/im/vector/widgets/WidgetError.java
+37
-0
vector/src/main/java/im/vector/widgets/WidgetManagerProvider.kt
.../src/main/java/im/vector/widgets/WidgetManagerProvider.kt
+67
-19
vector/src/main/java/im/vector/widgets/WidgetsApi.java
vector/src/main/java/im/vector/widgets/WidgetsApi.java
+4
-4
vector/src/main/java/im/vector/widgets/WidgetsManager.java
vector/src/main/java/im/vector/widgets/WidgetsManager.java
+56
-61
vector/src/main/java/im/vector/widgets/WidgetsRestClient.java
...or/src/main/java/im/vector/widgets/WidgetsRestClient.java
+10
-11
vector/src/main/res/drawable-hdpi/ic_widget_bin.png
vector/src/main/res/drawable-hdpi/ic_widget_bin.png
+0
-0
vector/src/main/res/drawable-hdpi/ic_widget_external_link.png
...or/src/main/res/drawable-hdpi/ic_widget_external_link.png
+0
-0
vector/src/main/res/drawable-hdpi/ic_widget_refresh.png
vector/src/main/res/drawable-hdpi/ic_widget_refresh.png
+0
-0
vector/src/main/res/drawable-hdpi/sync.png
vector/src/main/res/drawable-hdpi/sync.png
+0
-0
vector/src/main/res/drawable-mdpi/ic_widget_bin.png
vector/src/main/res/drawable-mdpi/ic_widget_bin.png
+0
-0
vector/src/main/res/drawable-mdpi/ic_widget_external_link.png
...or/src/main/res/drawable-mdpi/ic_widget_external_link.png
+0
-0
vector/src/main/res/drawable-mdpi/ic_widget_refresh.png
vector/src/main/res/drawable-mdpi/ic_widget_refresh.png
+0
-0
vector/src/main/res/drawable-mdpi/sync.png
vector/src/main/res/drawable-mdpi/sync.png
+0
-0
vector/src/main/res/drawable-xhdpi/ic_widget_bin.png
vector/src/main/res/drawable-xhdpi/ic_widget_bin.png
+0
-0
vector/src/main/res/drawable-xhdpi/ic_widget_external_link.png
...r/src/main/res/drawable-xhdpi/ic_widget_external_link.png
+0
-0
vector/src/main/res/drawable-xhdpi/ic_widget_refresh.png
vector/src/main/res/drawable-xhdpi/ic_widget_refresh.png
+0
-0
vector/src/main/res/drawable-xhdpi/sync.png
vector/src/main/res/drawable-xhdpi/sync.png
+0
-0
vector/src/main/res/drawable-xxhdpi/ic_widget_bin.png
vector/src/main/res/drawable-xxhdpi/ic_widget_bin.png
+0
-0
vector/src/main/res/drawable-xxhdpi/ic_widget_external_link.png
.../src/main/res/drawable-xxhdpi/ic_widget_external_link.png
+0
-0
vector/src/main/res/drawable-xxhdpi/ic_widget_refresh.png
vector/src/main/res/drawable-xxhdpi/ic_widget_refresh.png
+0
-0
vector/src/main/res/drawable-xxhdpi/sync.png
vector/src/main/res/drawable-xxhdpi/sync.png
+0
-0
vector/src/main/res/drawable-xxxhdpi/ic_widget_bin.png
vector/src/main/res/drawable-xxxhdpi/ic_widget_bin.png
+0
-0
vector/src/main/res/drawable-xxxhdpi/ic_widget_external_link.png
...src/main/res/drawable-xxxhdpi/ic_widget_external_link.png
+0
-0
vector/src/main/res/drawable-xxxhdpi/ic_widget_refresh.png
vector/src/main/res/drawable-xxxhdpi/ic_widget_refresh.png
+0
-0
vector/src/main/res/drawable-xxxhdpi/sync.png
vector/src/main/res/drawable-xxxhdpi/sync.png
+0
-0
vector/src/main/res/layout/activity_vector_login.xml
vector/src/main/res/layout/activity_vector_login.xml
+8
-4
vector/src/main/res/layout/activity_vector_settings.xml
vector/src/main/res/layout/activity_vector_settings.xml
+3
-1
vector/src/main/res/layout/activity_widget.xml
vector/src/main/res/layout/activity_widget.xml
+9
-62
vector/src/main/res/layout/bottom_sheet_epoxy_list_with_title.xml
...rc/main/res/layout/bottom_sheet_epoxy_list_with_title.xml
+30
-0
vector/src/main/res/layout/bottom_sheet_room_widget_permission.xml
...c/main/res/layout/bottom_sheet_room_widget_permission.xml
+114
-0
vector/src/main/res/layout/dialog_background_sync_mode.xml
vector/src/main/res/layout/dialog_background_sync_mode.xml
+13
-0
vector/src/main/res/layout/dialog_base_edit_text.xml
vector/src/main/res/layout/dialog_base_edit_text.xml
+9
-0
vector/src/main/res/layout/dialog_confirm_password.xml
vector/src/main/res/layout/dialog_confirm_password.xml
+52
-0
vector/src/main/res/layout/fragment_accept_terms.xml
vector/src/main/res/layout/fragment_accept_terms.xml
+17
-9
vector/src/main/res/layout/fragment_room_widget.xml
vector/src/main/res/layout/fragment_room_widget.xml
+54
-0
vector/src/main/res/layout/fragment_set_identity_server.xml
vector/src/main/res/layout/fragment_set_identity_server.xml
+52
-0
vector/src/main/res/layout/fragment_simple_epoxy.xml
vector/src/main/res/layout/fragment_simple_epoxy.xml
+16
-0
vector/src/main/res/layout/item_custom_dialog_radio_line.xml
vector/src/main/res/layout/item_custom_dialog_radio_line.xml
+57
-0
vector/src/main/res/layout/item_loading.xml
vector/src/main/res/layout/item_loading.xml
+25
-0
vector/src/main/res/layout/item_locale.xml
vector/src/main/res/layout/item_locale.xml
+4
-5
vector/src/main/res/layout/item_settings_button.xml
vector/src/main/res/layout/item_settings_button.xml
+15
-0
vector/src/main/res/layout/item_settings_button_single_line.xml
.../src/main/res/layout/item_settings_button_single_line.xml
+86
-0
vector/src/main/res/layout/item_settings_edit_text.xml
vector/src/main/res/layout/item_settings_edit_text.xml
+56
-0
vector/src/main/res/layout/item_settings_helper_info.xml
vector/src/main/res/layout/item_settings_helper_info.xml
+15
-0
vector/src/main/res/layout/item_settings_radio_single_line.xml
...r/src/main/res/layout/item_settings_radio_single_line.xml
+40
-0
vector/src/main/res/layout/item_settings_section_separator.xml
...r/src/main/res/layout/item_settings_section_separator.xml
+15
-0
vector/src/main/res/layout/item_settings_section_title.xml
vector/src/main/res/layout/item_settings_section_title.xml
+15
-0
vector/src/main/res/layout/item_settings_simple_item.xml
vector/src/main/res/layout/item_settings_simple_item.xml
+47
-0
vector/src/main/res/menu/menu_done.xml
vector/src/main/res/menu/menu_done.xml
+11
-0
vector/src/main/res/menu/menu_room_widget.xml
vector/src/main/res/menu/menu_room_widget.xml
+31
-0
vector/src/main/res/values-ar/strings.xml
vector/src/main/res/values-ar/strings.xml
+1
-9
vector/src/main/res/values-b+sr+Latn/strings.xml
vector/src/main/res/values-b+sr+Latn/strings.xml
+405
-0
vector/src/main/res/values-bg/strings.xml
vector/src/main/res/values-bg/strings.xml
+2
-10
vector/src/main/res/values-bn-rIN/strings.xml
vector/src/main/res/values-bn-rIN/strings.xml
+0
-8
vector/src/main/res/values-bs/strings.xml
vector/src/main/res/values-bs/strings.xml
+0
-8
vector/src/main/res/values-ca/strings.xml
vector/src/main/res/values-ca/strings.xml
+7
-11
vector/src/main/res/values-cs/strings.xml
vector/src/main/res/values-cs/strings.xml
+0
-8
vector/src/main/res/values-cy/strings.xml
vector/src/main/res/values-cy/strings.xml
+2
-0
vector/src/main/res/values-da/strings.xml
vector/src/main/res/values-da/strings.xml
+0
-8
vector/src/main/res/values-de/strings.xml
vector/src/main/res/values-de/strings.xml
+63
-19
vector/src/main/res/values-el/strings.xml
vector/src/main/res/values-el/strings.xml
+1
-1
vector/src/main/res/values-es-rMX/strings.xml
vector/src/main/res/values-es-rMX/strings.xml
+5
-4
vector/src/main/res/values-es/strings.xml
vector/src/main/res/values-es/strings.xml
+3
-11
vector/src/main/res/values-eu/strings.xml
vector/src/main/res/values-eu/strings.xml
+165
-19
vector/src/main/res/values-fa/strings.xml
vector/src/main/res/values-fa/strings.xml
+0
-8
vector/src/main/res/values-fi/strings.xml
vector/src/main/res/values-fi/strings.xml
+153
-58
vector/src/main/res/values-fr/strings.xml
vector/src/main/res/values-fr/strings.xml
+146
-18
vector/src/main/res/values-gl/strings.xml
vector/src/main/res/values-gl/strings.xml
+0
-8
vector/src/main/res/values-hu/strings.xml
vector/src/main/res/values-hu/strings.xml
+144
-16
vector/src/main/res/values-id/strings.xml
vector/src/main/res/values-id/strings.xml
+0
-8
vector/src/main/res/values-in/strings.xml
vector/src/main/res/values-in/strings.xml
+0
-8
vector/src/main/res/values-is/strings.xml
vector/src/main/res/values-is/strings.xml
+0
-8
vector/src/main/res/values-it/strings.xml
vector/src/main/res/values-it/strings.xml
+145
-17
vector/src/main/res/values-ja/strings.xml
vector/src/main/res/values-ja/strings.xml
+0
-8
vector/src/main/res/values-ko/strings.xml
vector/src/main/res/values-ko/strings.xml
+185
-58
vector/src/main/res/values-lv/strings.xml
vector/src/main/res/values-lv/strings.xml
+0
-8
vector/src/main/res/values-nl/strings.xml
vector/src/main/res/values-nl/strings.xml
+9
-8
vector/src/main/res/values-nn/strings.xml
vector/src/main/res/values-nn/strings.xml
+0
-4
vector/src/main/res/values-pl/strings.xml
vector/src/main/res/values-pl/strings.xml
+0
-8
vector/src/main/res/values-pt-rBR/strings.xml
vector/src/main/res/values-pt-rBR/strings.xml
+0
-4
vector/src/main/res/values-pt/strings.xml
vector/src/main/res/values-pt/strings.xml
+0
-8
vector/src/main/res/values-ru/strings.xml
vector/src/main/res/values-ru/strings.xml
+90
-26
vector/src/main/res/values-sk/strings.xml
vector/src/main/res/values-sk/strings.xml
+0
-8
vector/src/main/res/values-sq/strings.xml
vector/src/main/res/values-sq/strings.xml
+76
-17
vector/src/main/res/values-sr/strings.xml
vector/src/main/res/values-sr/strings.xml
+113
-0
vector/src/main/res/values-te/strings.xml
vector/src/main/res/values-te/strings.xml
+0
-8
vector/src/main/res/values-tr/strings.xml
vector/src/main/res/values-tr/strings.xml
+0
-8
vector/src/main/res/values-uk/strings.xml
vector/src/main/res/values-uk/strings.xml
+0
-4
vector/src/main/res/values-zh-rCN/strings.xml
vector/src/main/res/values-zh-rCN/strings.xml
+0
-8
vector/src/main/res/values-zh-rTW/strings.xml
vector/src/main/res/values-zh-rTW/strings.xml
+143
-17
vector/src/main/res/values/colors.xml
vector/src/main/res/values/colors.xml
+1
-0
vector/src/main/res/values/config.xml
vector/src/main/res/values/config.xml
+5
-2
vector/src/main/res/values/strings.xml
vector/src/main/res/values/strings.xml
+160
-16
vector/src/main/res/xml/vector_settings_preferences.xml
vector/src/main/res/xml/vector_settings_preferences.xml
+56
-18
No files found.
.buildkite/pipeline.yml
View file @
dddf7885
...
...
@@ -9,10 +9,10 @@ steps:
agents
:
# We use a medium sized instance instead of the normal small ones because
# gradle build is long
queue
:
"
medium
"
queue
:
"
xlarge
"
commands
:
-
"
./set_debug_env.sh"
-
"
./gradlew
clean
lintAppRelease
assembleAppDebug
--stacktrace"
-
"
./gradlew
--no-daemon
clean
lintAppRelease
assembleAppDebug
--stacktrace"
artifact_paths
:
-
"
vector/build/outputs/apk/app/debug/*.apk"
branches
:
"
develop
feature/*"
...
...
@@ -24,10 +24,10 @@ steps:
agents
:
# We use a medium sized instance instead of the normal small ones because
# gradle build is long
queue
:
"
medium
"
queue
:
"
xlarge
"
commands
:
-
"
./set_debug_env.sh"
-
"
./gradlew
clean
lintAppfdroidRelease
assembleAppfdroidDebug
--stacktrace"
-
"
./gradlew
--no-daemon
clean
lintAppfdroidRelease
assembleAppfdroidDebug
--stacktrace"
artifact_paths
:
-
"
vector/build/outputs/apk/appfdroid/debug/*.apk"
branches
:
"
develop
feature/*"
...
...
@@ -39,9 +39,9 @@ steps:
agents
:
# We use a medium sized instance instead of the normal small ones because
# gradle build is long
queue
:
"
medium
"
queue
:
"
xlarge
"
commands
:
-
"
./gradlew
clean
assembleAppRelease
--stacktrace"
-
"
./gradlew
--no-daemon
clean
assembleAppRelease
--stacktrace"
artifact_paths
:
-
"
vector/build/outputs/apk/app/release/*.apk"
branches
:
"
master"
...
...
@@ -52,4 +52,5 @@ steps:
# Code quality
-
label
:
"
Code
quality"
command
:
"
./tools/check/check_code_quality.sh"
commands
:
-
"
./tools/check/check_code_quality.sh"
\ No newline at end of file
build.gradle
View file @
dddf7885
...
...
@@ -28,7 +28,7 @@ ext {
// during development the versionName ends with -SNAPSHOT. As the code stabilizes and release nears
// one or many Release Candidates are tagged. These all end with "-RC1", "-RC2" etc.
// And the final release is without any suffix.
versionNameProp
=
"1.0.
3
"
versionNameProp
=
"1.0.
4
"
// versionCode rules:
// (major * 1000000) + (minor * 10000) + (patch * 100) + candidate;
...
...
@@ -36,7 +36,7 @@ ext {
// 00 for -SNAPSHOT
// 01..98 for RC
// 99 for final release
versionCodeProp
=
1000
399
versionCodeProp
=
1000
401
buildNumberProp
=
System
.
getenv
(
"CI_PIPELINE_IID"
)
as
String
?:
"0"
}
...
...
gradle.properties
View file @
dddf7885
...
...
@@ -16,7 +16,7 @@ version=1.0.0
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
org.gradle.jvmargs
=
-Xmx4g -Dfile.encoding=UTF-8
#
org.gradle.jvmargs=-Xmx4g -Dfile.encoding=UTF-8
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
...
...
gradle/wrapper/gradle-wrapper.properties
View file @
dddf7885
...
...
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath
=
wrapper/dists
zipStoreBase
=
GRADLE_USER_HOME
zipStorePath
=
wrapper/dists
distributionUrl
=
https
\:
//services.gradle.org/distributions/gradle-5.
5.1
-all.zip
distributionUrl
=
https
\:
//services.gradle.org/distributions/gradle-5.
6.2
-all.zip
vector/build.gradle
View file @
dddf7885
...
...
@@ -106,6 +106,7 @@ android {
buildTypes
{
debug
{
resValue
"bool"
,
"debug_mode"
,
"true"
resValue
"string"
,
"git_revision"
,
"\"${gitRevision()}\""
resValue
"string"
,
"git_revision_date"
,
"\"${gitRevisionDate()}\""
...
...
@@ -235,6 +236,7 @@ dependencies {
// Epoxy
implementation
'com.airbnb.android:epoxy:3.7.0'
implementation
'com.airbnb.android:mvrx:1.0.1'
kapt
'com.airbnb.android:epoxy-processor:3.7.0'
// Network
...
...
@@ -263,7 +265,7 @@ dependencies {
/************* Matrix SDK management **************/
// update settings.gradle
// use the matrix SDK as external dependency
implementation
'com.github.matrix-org:matrix-android-sdk:v0.9.
27
'
implementation
'com.github.matrix-org:matrix-android-sdk:v0.9.
32
'
// use the matrix SDK as a sub project
// you have to uncomment some lines in settings.gradle
//implementation project(':matrix-sdk')
...
...
@@ -277,7 +279,7 @@ dependencies {
/************* flavors management **************/
// app flavor only
appImplementation
(
'com.google.firebase:firebase-messaging:
17.4
.0'
)
{
appImplementation
(
'com.google.firebase:firebase-messaging:
20.0
.0'
)
{
exclude
group:
'com.google.firebase'
,
module:
'firebase-core'
exclude
group:
'com.google.firebase'
,
module:
'firebase-analytics'
exclude
group:
'com.google.firebase'
,
module:
'firebase-measurement-connector'
...
...
vector/src/app/java/im/vector/push/fcm/VectorFirebaseMessagingService.kt
View file @
dddf7885
...
...
@@ -59,11 +59,8 @@ class VectorFirebaseMessagingService : FirebaseMessagingService() {
*
* @param message the message
*/
override
fun
onMessageReceived
(
message
:
RemoteMessage
?)
{
if
(
message
==
null
||
message
.
data
==
null
)
{
Log
.
e
(
LOG_TAG
,
"## onMessageReceived() : received a null message or message with no data"
)
return
}
override
fun
onMessageReceived
(
message
:
RemoteMessage
)
{
if
(
BuildConfig
.
LOW_PRIVACY_LOG_ENABLE
)
{
Log
.
i
(
LOG_TAG
,
"## onMessageReceived()"
+
message
.
data
.
toString
())
Log
.
i
(
LOG_TAG
,
"## onMessageReceived() from FCM with priority "
+
message
.
priority
)
...
...
@@ -86,7 +83,7 @@ class VectorFirebaseMessagingService : FirebaseMessagingService() {
* when the InstanceID token is initially generated, so this is where
* you retrieve the token.
*/
override
fun
onNewToken
(
refreshedToken
:
String
?
)
{
override
fun
onNewToken
(
refreshedToken
:
String
)
{
Log
.
i
(
LOG_TAG
,
"onNewToken: FCM Token has been updated"
)
FcmHelper
.
storeFcmToken
(
this
,
refreshedToken
)
Matrix
.
getInstance
(
this
)
?.
pushManager
?.
resetFCMRegistration
(
refreshedToken
)
...
...
vector/src/appfdroid/java/im/vector/receiver/OnApplicationUpgradeReceiver.
java
→
vector/src/appfdroid/java/im/vector/receiver/OnApplicationUpgradeReceiver.
kt
View file @
dddf7885
...
...
@@ -14,25 +14,22 @@
* limitations under the License.
*/
package
im.vector.receiver
;
package
im.vector.receiver
import
android.content.BroadcastReceiver
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.content.BroadcastReceiver
import
android.content.Context
import
android.content.Intent
import
im.vector.services.EventStreamServiceX
import
org.matrix.androidsdk.core.Log
import
org.matrix.androidsdk.core.Log
;
class
OnApplicationUpgradeReceiver
:
BroadcastReceiver
()
{
import
im.vector.services.EventStreamServiceX
;
public
class
OnApplicationUpgradeReceiver
extends
BroadcastReceiver
{
private
static
final
String
LOG_TAG
=
OnApplicationUpgradeReceiver
.
class
.
getSimpleName
();
@Override
public
void
onReceive
(
Context
context
,
Intent
intent
)
{
Log
.
d
(
LOG_TAG
,
"## onReceive() : Application has been upgraded, restart event stream service."
);
override
fun
onReceive
(
context
:
Context
,
intent
:
Intent
)
{
Log
.
d
(
LOG_TAG
,
"## onReceive() : Application has been upgraded, restart event stream service."
)
EventStreamServiceX
.
onApplicationUpgrade
(
context
)
}
// Start Event stream
EventStreamServiceX
.
Companion
.
onApplicationUpgrade
(
context
);
companion
object
{
private
val
LOG_TAG
=
OnApplicationUpgradeReceiver
::
class
.
java
.
simpleName
}
}
vector/src/main/AndroidManifest.xml
View file @
dddf7885
...
...
@@ -340,22 +340,22 @@
android:theme=
"@style/GroupAppTheme.Light"
android:windowSoftInputMode=
"adjustResize"
/>
<activity
android:name=
".activity.VectorUniversalLinkActivity"
>
<intent-filter
>
<action
android:name=
"android.intent.action.VIEW"
/
>
<category
android:name=
"android.intent.category.DEFAULT"
/
>
<category
android:name=
"android.intent.category.BROWSABLE"
/
>
<data
android:scheme=
"http"
/
>
<data
android:scheme=
"https"
/
>
<data
android:host=
"vector.im"
/
>
<data
android:pathPrefix=
"/app/"
/
>
<data
android:pathPrefix=
"/beta/"
/
>
<data
android:pathPrefix=
"/develop/"
/
>
<data
android:pathPrefix=
"/staging/"
/
>
<!-- mail validation
-->
<data
android:pathPrefix=
"/_matrix/"
/
>
</intent-filter
>
<!-- <intent-filter>--
>
<!-- <action android:name="android.intent.action.VIEW" />--
>
<!-- <category android:name="android.intent.category.DEFAULT" />--
>
<!-- <category android:name="android.intent.category.BROWSABLE" />--
>
<!-- <data android:scheme="http" />--
>
<!-- <data android:scheme="https" />--
>
<!-- <data android:host="vector.im" />--
>
<!-- <data android:pathPrefix="/app/" />--
>
<!-- <data android:pathPrefix="/beta/" />--
>
<!-- <data android:pathPrefix="/develop/" />--
>
<!-- <data android:pathPrefix="/staging/" />--
>
<!-- <!– mail validation –>
-->
<!-- <data android:pathPrefix="/_matrix/" />--
>
<!-- </intent-filter>--
>
<intent-filter>
<action
android:name=
"android.intent.action.VIEW"
/>
...
...
vector/src/main/java/im/vector/LoginHandler.java
View file @
dddf7885
...
...
@@ -214,19 +214,23 @@ public class LoginHandler {
final
String
aClientSecret
,
final
String
aSid
,
final
ApiCallback
<
Boolean
>
aRespCallback
)
{
final
ThreePid
pid
=
new
ThreePid
(
null
,
ThreePid
.
MEDIUM_EMAIL
);
ThirdPidRestClient
restClient
=
new
ThirdPidRestClient
(
aHomeServerConfig
);
pid
.
submitValidationToken
(
restClient
,
aToken
,
aClientSecret
,
aSid
,
new
UnrecognizedCertApiCallback
<
Boolean
>(
aHomeServerConfig
,
aRespCallback
)
{
@Override
public
void
onSuccess
(
Boolean
info
)
{
aRespCallback
.
onSuccess
(
info
);
}
@Override
public
void
onAcceptedCert
()
{
submitEmailTokenValidation
(
aCtx
,
aHomeServerConfig
,
aToken
,
aClientSecret
,
aSid
,
aRespCallback
);
}
});
restClient
.
submitValidationToken
(
ThreePid
.
MEDIUM_EMAIL
,
aToken
,
aClientSecret
,
aSid
,
new
UnrecognizedCertApiCallback
<
Boolean
>(
aHomeServerConfig
,
aRespCallback
)
{
@Override
public
void
onSuccess
(
Boolean
info
)
{
aRespCallback
.
onSuccess
(
info
);
}
@Override
public
void
onAcceptedCert
()
{
submitEmailTokenValidation
(
aCtx
,
aHomeServerConfig
,
aToken
,
aClientSecret
,
aSid
,
aRespCallback
);
}
});
}
}
vector/src/main/java/im/vector/Matrix.java
View file @
dddf7885
...
...
@@ -117,6 +117,8 @@ public class Matrix {
@Nullable
private
KeyRequestHandler
mKeyRequestHandler
;
private
Map
<
String
,
WidgetManagerProvider
>
mWidgetManagerProviders
=
new
HashMap
<>();
// i.e the event has been read from another client
private
static
final
MXEventListener
mLiveEventListener
=
new
MXEventListener
()
{
boolean
mClearCacheRequired
=
false
;
...
...
@@ -133,10 +135,12 @@ public class Matrix {
public
void
onLiveEvent
(
Event
event
,
RoomState
roomState
)
{
mRefreshUnreadCounter
|=
Event
.
EVENT_TYPE_MESSAGE
.
equals
(
event
.
getType
())
||
Event
.
EVENT_TYPE_RECEIPT
.
equals
(
event
.
getType
());
// TODO update to manage multisessions
WidgetsManager
wm
=
WidgetManagerProvider
.
INSTANCE
.
getWidgetManager
(
VectorApp
.
getInstance
().
getApplicationContext
());
if
(
wm
!=
null
)
{
wm
.
onLiveEvent
(
instance
.
getDefaultSession
(),
event
);
WidgetManagerProvider
wp
=
instance
.
mWidgetManagerProviders
.
get
(
instance
.
getDefaultSession
().
getMyUserId
());
if
(
wp
!=
null
)
{
WidgetsManager
wm
=
wp
.
getWidgetManager
(
VectorApp
.
getInstance
().
getApplicationContext
());
if
(
wm
!=
null
)
{
wm
.
onLiveEvent
(
instance
.
getDefaultSession
(),
event
);
}
}
}
...
...
@@ -306,6 +310,23 @@ public class Matrix {
return
sessions
;
}
@Nullable
public
WidgetManagerProvider
getWidgetManagerProvider
(
MXSession
session
)
{
if
(
session
==
null
)
{
return
null
;
}
return
mWidgetManagerProviders
.
get
(
session
.
getMyUserId
());
}
@Nullable
public
static
WidgetsManager
getWidgetManager
(
Context
activity
)
{
if
(
Matrix
.
getInstance
(
activity
)
==
null
)
return
null
;
MXSession
session
=
Matrix
.
getInstance
(
activity
).
getDefaultSession
();
if
(
session
==
null
)
return
null
;
WidgetManagerProvider
widgetManagerProvider
=
Matrix
.
getInstance
(
activity
).
getWidgetManagerProvider
(
session
);
if
(
widgetManagerProvider
==
null
)
return
null
;
return
widgetManagerProvider
.
getWidgetManager
(
activity
);
}
/**
* Retrieve the default session if one exists.
* <p>
...
...
@@ -648,7 +669,9 @@ public class Matrix {
* @return The session.
*/
public
MXSession
createSession
(
HomeServerConnectionConfig
hsConfig
)
{
return
createSession
(
mAppContext
,
hsConfig
);
MXSession
session
=
createSession
(
mAppContext
,
hsConfig
);
mWidgetManagerProviders
.
put
(
session
.
getMyUserId
(),
new
WidgetManagerProvider
(
session
));
return
session
;
}
/**
...
...
vector/src/main/java/im/vector/RegistrationManager.java
View file @
dddf7885
This diff is collapsed.
Click to expand it.
vector/src/main/java/im/vector/VectorApp.java
View file @
dddf7885
...
...
@@ -41,6 +41,7 @@ import androidx.multidex.MultiDexApplication;
import
com.facebook.stetho.Stetho
;
import
org.matrix.androidsdk.MXSession
;
import
org.matrix.androidsdk.call.MXCallsManager
;
import
org.matrix.androidsdk.core.Log
;
import
java.io.File
;
...
...
@@ -188,11 +189,6 @@ public class VectorApp extends MultiDexApplication {
Log
.
d
(
LOG_TAG
,
"onCreate"
);
super
.
onCreate
();
PreferencesManager
.
setIntegrationManagerUrls
(
this
,
getString
(
R
.
string
.
integrations_ui_url
),
getString
(
R
.
string
.
integrations_rest_url
),
getString
(
R
.
string
.
integrations_jitsi_widget_url
));
mLifeCycleListener
=
new
VectorLifeCycleObserver
();
ProcessLifecycleOwner
.
get
().
getLifecycle
().
addObserver
(
mLifeCycleListener
);
...
...
@@ -214,6 +210,12 @@ public class VectorApp extends MultiDexApplication {
mActivityTransitionTimer
=
null
;
mActivityTransitionTimerTask
=
null
;
if
(
PreferencesManager
.
useDefaultTurnServer
(
this
))
{
MXCallsManager
.
defaultStunServerUri
=
getString
(
R
.
string
.
default_stun_server
);
}
else
{
MXCallsManager
.
defaultStunServerUri
=
null
;
}
VECTOR_VERSION_STRING
=
Matrix
.
getInstance
(
this
).
getVersion
(
true
,
true
);
// not the first launch
if
(
null
!=
Matrix
.
getInstance
(
this
).
getDefaultSession
())
{
...
...
@@ -398,8 +400,6 @@ public class VectorApp extends MultiDexApplication {
for
(
MXSession
session
:
sessions
)
{
if
(
session
.
isAlive
())
{
session
.
setIsOnline
(
false
);
session
.
setSyncDelay
(
pushManager
.
isBackgroundSyncAllowed
()
?
pushManager
.
getBackgroundSyncDelay
()
:
0
);
session
.
setSyncTimeout
(
pushManager
.
getBackgroundSyncTimeOut
());
// remove older medias
if
((
System
.
currentTimeMillis
()
-
mLastMediasCheck
)
<
(
24
*
60
*
60
*
1000
))
{
...
...
@@ -516,8 +516,6 @@ public class VectorApp extends MultiDexApplication {
for
(
MXSession
session
:
sessions
)
{
session
.
getMyUser
().
refreshUserInfos
(
null
);
session
.
setIsOnline
(
true
);
session
.
setSyncDelay
(
0
);
session
.
setSyncTimeout
(
0
);
addSyncingSession
(
session
);
}
...
...
@@ -820,7 +818,6 @@ public class VectorApp extends MultiDexApplication {
return
context
;
}
/**
* The application is paused.
*/
...
...
vector/src/main/java/im/vector/activity/AbstractWidgetActivity.kt
View file @
dddf7885
...
...
@@ -31,11 +31,11 @@ import im.vector.Matrix
import
im.vector.R
import
im.vector.activity.util.INTEGRATION_MANAGER_ACTIVITY_REQUEST_CODE
import
im.vector.activity.util.TERMS_REQUEST_CODE
import
im.vector.fragments.roomwidgets.WebviewPermissionUtils
import
im.vector.types.JsonDict
import
im.vector.types.WidgetEventData
import
im.vector.util.AssetReader
import
im.vector.util.toJsonMap
import
im.vector.widgets.WidgetManagerProvider
import
im.vector.widgets.WidgetsManager
import
org.jetbrains.anko.toast
import
org.matrix.androidsdk.MXSession
...
...
@@ -88,7 +88,8 @@ abstract class AbstractWidgetActivity : VectorAppCompatActivity() {
@CallSuper
override
fun
initUiAndData
()
{
mSession
=
Matrix
.
getInstance
(
this
).
getSession
(
intent
.
getStringExtra
(
EXTRA_MATRIX_ID
))
val
matrix
=
Matrix
.
getInstance
(
this
)
mSession
=
matrix
.
getSession
(
intent
.
getStringExtra
(
EXTRA_MATRIX_ID
))
if
(
null
==
mSession
||
!
mSession
!!
.
isAlive
)
{
Log
.
e
(
LOG_TAG
,
"## onCreate() : invalid session"
)
...
...
@@ -100,7 +101,7 @@ abstract class AbstractWidgetActivity : VectorAppCompatActivity() {
mRoom
=
mSession
!!
.
dataHandler
.
getRoom
(
intent
.
getStringExtra
(
EXTRA_ROOM_ID
))
widgetManager
=
WidgetManagerProvider
.
getWidgetManager
(
this
)
?:
run
{
widgetManager
=
matrix
.
getWidgetManagerProvider
(
mSession
)
?
.
getWidgetManager
(
this
)
?:
run
{
finish
()
return
}
...
...
@@ -148,8 +149,8 @@ abstract class AbstractWidgetActivity : VectorAppCompatActivity() {
}
}
private
fun
presentTermsForServices
(
token
:
String
?
)
{
val
wm
=
WidgetManagerProvider
.
getWidgetManag
er
(
this
)
private
fun
presentTermsForServices
(
token
:
String
)
{
val
wm
=
Matrix
.
getInstance
(
this
).
getWidgetManagerProvider
(
mSession
)
?.
getWidgetManager
(
this
)
//WidgetManagerProvider.getWidgetManagerProvid
er(this)
if
(
wm
==
null
)
{
// should not happen
finish
()
return
...
...
@@ -194,7 +195,7 @@ abstract class AbstractWidgetActivity : VectorAppCompatActivity() {
// Permission requests
it
.
webChromeClient
=
object
:
WebChromeClient
()
{
override
fun
onPermissionRequest
(
request
:
PermissionRequest
)
{
runOnUiThread
{
request
.
grant
(
request
.
resources
)
}
WebviewPermissionUtils
.
promptForPermissions
(
R
.
string
.
room_widget_resource_permission_title
,
request
,
this
@AbstractWidgetActivity
)
}
override
fun
onConsoleMessage
(
consoleMessage
:
ConsoleMessage
):
Boolean
{
...
...
vector/src/main/java/im/vector/activity/CommonActivityUtils.java
View file @
dddf7885
...
...
@@ -316,39 +316,34 @@ public class CommonActivityUtils {
private
static
boolean
isRecoveringFromInvalidatedToken
=
false
;
public
static
void
recoverInvalidatedToken
()
{
Log
.
e
(
LOG_TAG
,
"## recoverInvalidatedToken: Start Recover "
);
if
(
isRecoveringFromInvalidatedToken
)
{
//ignore, we are doing it
Log
.
e
(
LOG_TAG
,
"## recoverInvalidatedToken: ignore, we are doing it"
);
return
;
}
isRecoveringFromInvalidatedToken
=
true
;
Context
context
=
VectorApp
.
getCurrentActivity
()
!=
null
?
VectorApp
.
getCurrentActivity
()
:
VectorApp
.
getInstance
();
try
{
// Clear the credentials
Matrix
.
getInstance
(
context
).
getLoginStorage
().
clear
()
;
VectorApp
.
getInstance
().
getNotificationDrawerManager
().
clearAllEvents
();
EventStreamServiceX
.
Companion
.
onLogout
(
context
);
// stopEventStream(context);
EventStreamServiceX
.
Companion
.
onApplicationStopped
(
context
);
BadgeProxy
.
INSTANCE
.
updateBadgeCount
(
context
,
0
);
MXSession
session
=
Matrix
.
getInstance
(
context
).
getDefaultSession
();
// Publish to the server that we're now offline
MyPresenceManager
.
getInstance
(
context
,
session
).
advertiseOffline
();
MyPresenceManager
.
remove
(
session
);
// clear the preferences
PreferencesManager
.
clearPreferences
(
context
);
// reset the FCM
Matrix
.
getInstance
(
context
).
getPushManager
().
resetFCMRegistration
();
// clear the preferences
Matrix
.
getInstance
(
context
).
getPushManager
().
clearPreferences
();
// Clear the credentials
Matrix
.
getInstance
(
context
).
getLoginStorage
().
clear
();
// clear the tmp store list
Matrix
.
getInstance
(
context
).
clearTmpStoresList
();
...
...
@@ -358,20 +353,11 @@ public class CommonActivityUtils {
MXMediaCache
.
clearThumbnailsCache
(
context
);
Matrix
.
getInstance
(
context
).
clearSessions
(
context
,
true
,
new
SimpleApiCallback
<
Void
>()
{
@Override
public
void
onSuccess
(
Void
info
)
{
}
});
session
.
clear
(
context
);
}
catch
(
Exception
e
)
{
Log
.
e
(
LOG_TAG
,
"## recoverInvalidatedToken: Error while cleaning: "
,
e
);
}
finally
{
// go to login page
CommonActivityUtils
.
restartApp
(
context
,
true
);
isRecoveringFromInvalidatedToken
=
false
;
CommonActivityUtils
.
restartApp
(
context
,
true
);
}
}
...
...
@@ -436,15 +422,12 @@ public class CommonActivityUtils {
if
(
goToLoginPage
)
{
Activity
activeActivity
=
VectorApp
.
getCurrentActivity
();
final
Context
activeContext
=
(
null
==
activeActivity
)
?
VectorApp
.
getInstance
().
getApplicationContext
()
:
activeActivity
;
// go to login page
Intent
intent
=
new
Intent
(
active
Activity
,
LoginActivity
.
class
);
Intent
intent
=
new
Intent
(
active
Context
,
LoginActivity
.
class
);
intent
.
setFlags
(
Intent
.
FLAG_ACTIVITY_NEW_TASK
|
Intent
.
FLAG_ACTIVITY_CLEAR_TASK
);
if
(
null
!=
activeActivity
)
{
activeActivity
.
startActivity
(
intent
);
}
else
{
context
.
startActivity
(
intent
);
}
activeContext
.
startActivity
(
intent
);
}
}
});
...
...
vector/src/main/java/im/vector/activity/DialogUtils.kt
0 → 100644
View file @
dddf7885
/*
* Copyright 2019 New Vector Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
im.vector.activity
import
android.content.Context
import
android.view.LayoutInflater
import
android.view.ViewGroup
import
android.widget.ImageView
import
androidx.appcompat.app.AlertDialog
import
com.google.android.material.textfield.TextInputEditText
import
com.google.android.material.textfield.TextInputLayout
import
im.vector.R
import
im.vector.extensions.showPassword
object
DialogUtils
{
fun
promptPassword
(
context
:
Context
,
errorText
:
String
?
=
null
,
defaultPwd
:
String
?
=
null
,
done
:
(
String
)
->
Unit
,
cancel
:
(()
->
Unit
)?
=
null
)
{
val
view
:
ViewGroup
=
LayoutInflater
.
from
(
context
).
inflate
(
R
.
layout
.
dialog_confirm_password
,
null
)
as
ViewGroup
val
showPassword
:
ImageView
=
view
.
findViewById
(
R
.
id
.
confirm_password_show_passwords
)
val
passwordTil
:
TextInputLayout
=
view
.
findViewById
(
R
.
id
.
confirm_password_til
)
val
passwordText
:
TextInputEditText
=
view
.
findViewById
(
R
.
id
.
password_label
)
passwordText
.
setText
(
defaultPwd
)
var
passwordShown
=
false
showPassword
.
setOnClickListener
{
passwordShown
=
!
passwordShown
passwordText
.
showPassword
(
passwordShown
)
showPassword
.
setImageResource
(
if
(
passwordShown
)
R
.
drawable
.
ic_eye_closed_black
else
R
.
drawable
.
ic_eye_black
)
}
passwordTil
.
error
=
errorText
AlertDialog
.
Builder
(
context
)
.
setView
(
view
)
.
setPositiveButton
(
R
.
string
.
_continue
)
{
tv
,
_
->
done
(
passwordText
.
text
.
toString
())
}
.
apply
{
if
(
cancel
!=
null
)
{
setNegativeButton
(
R
.
string
.
cancel
)
{
_
,
_
->
cancel
()
}
}
}
.
show
()
}
}
\ No newline at end of file
vector/src/main/java/im/vector/activity/HandleBackParticipant.kt
0 → 100644
View file @
dddf7885
/*
* Copyright 2019 New Vector Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
im.vector.activity
/**
* A fragment should implement this interface if it wants to intercept backPressed events.
* Any activity extending VectorAppCompatActivity will propagate back pressed event to child
* fragment that implements it.
*/
interface
HandleBackParticipant
{
/**
* Returns true, if the on back pressed event has been handled by this Fragment.
* Otherwise return false
*/
fun
onBackPressed
():
Boolean