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
8ca07df9
Commit
8ca07df9
authored
Nov 19, 2019
by
Valere
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixes #3379 revoke permission
parent
c80f2cc1
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
41 additions
and
1 deletion
+41
-1
vector/src/main/java/im/vector/fragments/roomwidgets/RoomWidgetFragment.kt
...ava/im/vector/fragments/roomwidgets/RoomWidgetFragment.kt
+6
-0
vector/src/main/java/im/vector/fragments/roomwidgets/RoomWidgetViewModel.kt
...va/im/vector/fragments/roomwidgets/RoomWidgetViewModel.kt
+29
-1
vector/src/main/res/menu/menu_room_widget.xml
vector/src/main/res/menu/menu_room_widget.xml
+5
-0
vector/src/main/res/values/strings.xml
vector/src/main/res/values/strings.xml
+1
-0
No files found.
vector/src/main/java/im/vector/fragments/roomwidgets/RoomWidgetFragment.kt
View file @
8ca07df9
...
...
@@ -243,12 +243,18 @@ class RoomWidgetFragment : VectorBaseMvRxFragment(), HandleBackParticipant {
openUrlInExternalBrowser
(
requireContext
(),
state
.
formattedURL
.
invoke
())
return
@withState
true
}
R
.
id
.
action_revoke
->
if
(
state
.
status
==
WidgetState
.
WIDGET_ALLOWED
)
{
viewModel
.
revokeWidget
()
viewModel
.
doFinish
()
return
@withState
true
}
}
return
@withState
super
.
onOptionsItemSelected
(
item
)
}
override
fun
onPrepareOptionsMenu
(
menu
:
Menu
?)
=
withState
(
viewModel
)
{
state
->
menu
?.
findItem
(
R
.
id
.
action_close
)
?.
isVisible
=
state
.
canManageWidgets
menu
?.
findItem
(
R
.
id
.
action_revoke
)
?.
isVisible
=
state
.
status
==
WidgetState
.
WIDGET_ALLOWED
super
.
onPrepareOptionsMenu
(
menu
)
}
...
...
vector/src/main/java/im/vector/fragments/roomwidgets/RoomWidgetViewModel.kt
View file @
8ca07df9
...
...
@@ -28,6 +28,7 @@ import im.vector.ui.arch.LiveEvent
import
im.vector.widgets.Widget
import
im.vector.widgets.WidgetsManager
import
org.matrix.androidsdk.MXSession
import
org.matrix.androidsdk.core.Log
import
org.matrix.androidsdk.core.callback.ApiCallback
import
org.matrix.androidsdk.core.model.MatrixError
import
org.matrix.androidsdk.data.Room
...
...
@@ -165,7 +166,7 @@ class RoomWidgetViewModel(initialState: RoomWidgetViewModelState, val widget: Wi
val
isAllowed
=
session
?.
integrationManager
?.
getKnownWidgetPermissions
()
?.
find
{
it
.
stateEventId
==
widget
.
widgetEvent
.
eventId
}
?.
find
{
it
.
stateEventId
==
widget
.
widgetEvent
.
eventId
}
?.
allowed
?:
false
...
...
@@ -276,6 +277,33 @@ class RoomWidgetViewModel(initialState: RoomWidgetViewModelState, val widget: Wi
}
}
fun
revokeWidget
(
onFinished
:
(()
->
Unit
)?
=
null
)
{
setState
{
copy
(
status
=
WidgetState
.
UNKNOWN
)
}
session
?.
integrationManager
?.
setWidgetAllowed
(
widget
.
widgetEvent
?.
eventId
?:
""
,
false
,
object
:
ApiCallback
<
Void
?>
{
override
fun
onSuccess
(
info
:
Void
?)
{
onFinished
?.
invoke
()
}
override
fun
onUnexpectedError
(
e
:
Exception
)
{
Log
.
e
(
this
::
class
.
java
.
name
,
e
.
message
)
}
override
fun
onNetworkError
(
e
:
Exception
)
{
Log
.
e
(
this
::
class
.
java
.
name
,
e
.
message
)
}
override
fun
onMatrixError
(
e
:
MatrixError
)
{
Log
.
e
(
this
::
class
.
java
.
name
,
e
.
message
)
}
})
}
override
fun
onCleared
()
{
super
.
onCleared
()
widgetsManager
?.
removeListener
(
mWidgetListener
)
...
...
vector/src/main/res/menu/menu_room_widget.xml
View file @
8ca07df9
...
...
@@ -23,4 +23,9 @@
android:title=
"@string/delete"
app:showAsAction=
"ifRoom"
/>
<item
android:id=
"@+id/action_revoke"
android:title=
"@string/room_widget_revoke_access"
app:showAsAction=
"never"
/>
</menu>
\ No newline at end of file
vector/src/main/res/values/strings.xml
View file @
8ca07df9
...
...
@@ -1122,6 +1122,7 @@
<string
name=
"room_widget_failed_to_load"
>
Failed to load widget.\n%s
</string>
<string
name=
"room_widget_reload"
>
Reload widget
</string>
<string
name=
"room_widget_open_in_browser"
>
Open in browser
</string>
<string
name=
"room_widget_revoke_access"
>
Revoke access for me
</string>
<string
name=
"room_widget_permission_display_name"
>
Your display name
</string>
<string
name=
"room_widget_permission_avatar_url"
>
Your avatar URL
</string>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment