From d7d04fc6db91701f76e36d9f5a6f6f1dcdc586f0 Mon Sep 17 00:00:00 2001 From: tateisu Date: Tue, 16 Apr 2019 02:54:36 +0900 Subject: [PATCH] =?UTF-8?q?(Misskey=20v11)=E3=82=A2=E3=83=97=E3=83=AA?= =?UTF-8?q?=E3=81=AE=E6=A8=A9=E9=99=90=E3=83=AA=E3=82=B9=E3=83=88=E3=82=92?= =?UTF-8?q?v11=E4=BB=A5=E9=99=8D=E3=81=A8=E3=81=9D=E3=82=8C=E6=9C=AA?= =?UTF-8?q?=E6=BA=80=E3=81=A7=E5=88=87=E3=82=8A=E6=9B=BF=E3=81=88=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../juggler/subwaytooter/api/TootApiClient.kt | 76 +++++++++++++------ .../subwaytooter/api/entity/TootInstance.kt | 2 + .../juggler/subwaytooter/dialog/LoginForm.kt | 1 + app/src/main/res/raw/server_list.txt | 2 + 4 files changed, 56 insertions(+), 25 deletions(-) diff --git a/app/src/main/java/jp/juggler/subwaytooter/api/TootApiClient.kt b/app/src/main/java/jp/juggler/subwaytooter/api/TootApiClient.kt index a1da6f50..824abc26 100644 --- a/app/src/main/java/jp/juggler/subwaytooter/api/TootApiClient.kt +++ b/app/src/main/java/jp/juggler/subwaytooter/api/TootApiClient.kt @@ -191,31 +191,57 @@ class TootApiClient( fun getScopeArrayMisskey(@Suppress("UNUSED_PARAMETER") ti : TootInstance) = JSONArray().apply { - // https://github.com/syuilo/misskey/issues/2341 - arrayOf( - "account-read", - "account-write", - "account/read", - "account/write", - "drive-read", - "drive-write", - "favorite-read", - "favorite-write", - "favorites-read", - "following-read", - "following-write", - "messaging-read", - "messaging-write", - "note-read", - "note-write", - "notification-read", - "notification-write", - "reaction-read", - "reaction-write", - "vote-read", - "vote-write" - - ) + if(ti.versionGE(TootInstance.MISSKEY_VERSION_11)) { + arrayOf( + "read:account", + "write:account", + "read:blocks", + "write:blocks", + "read:drive", + "write:drive", + "read:favorites", + "write:favorites", + "read:following", + "write:following", + "read:messaging", + "write:messaging", + "read:mutes", + "write:mutes", + "write:notes", + "read:notifications", + "write:notifications", + "read:reactions", + "write:reactions", + "write:votes" + ) + } else { + // https://github.com/syuilo/misskey/issues/2341 + arrayOf( + "account-read", + "account-write", + "account/read", + "account/write", + "drive-read", + "drive-write", + "favorite-read", + "favorite-write", + "favorites-read", + "following-read", + "following-write", + "messaging-read", + "messaging-write", + "note-read", + "note-write", + "notification-read", + "notification-write", + "reaction-read", + "reaction-write", + "vote-read", + "vote-write" + + ) + + } // APIのエラーを回避するため、重複を排除する .toMutableSet() .forEach { put(it) } diff --git a/app/src/main/java/jp/juggler/subwaytooter/api/entity/TootInstance.kt b/app/src/main/java/jp/juggler/subwaytooter/api/entity/TootInstance.kt index a1f206de..e6efc602 100644 --- a/app/src/main/java/jp/juggler/subwaytooter/api/entity/TootInstance.kt +++ b/app/src/main/java/jp/juggler/subwaytooter/api/entity/TootInstance.kt @@ -22,6 +22,8 @@ class TootInstance(parser : TootParser, src : JSONObject) { val VERSION_2_4_1 = VersionString("2.4.1") val VERSION_2_6_0 = VersionString("2.6.0") val VERSION_2_7_0_rc1 = VersionString("2.7.0rc1") + + val MISSKEY_VERSION_11 = VersionString("11.0") } // いつ取得したか(内部利用) diff --git a/app/src/main/java/jp/juggler/subwaytooter/dialog/LoginForm.kt b/app/src/main/java/jp/juggler/subwaytooter/dialog/LoginForm.kt index a97c7dae..c0db9b66 100644 --- a/app/src/main/java/jp/juggler/subwaytooter/dialog/LoginForm.kt +++ b/app/src/main/java/jp/juggler/subwaytooter/dialog/LoginForm.kt @@ -131,6 +131,7 @@ object LoginForm { if(s.isNotEmpty()) instance_list.add(s) } } + instance_list.sort() } catch(ex : Throwable) { log.trace(ex) } diff --git a/app/src/main/res/raw/server_list.txt b/app/src/main/res/raw/server_list.txt index df9b72ed..556745cf 100644 --- a/app/src/main/res/raw/server_list.txt +++ b/app/src/main/res/raw/server_list.txt @@ -1,3 +1,5 @@ +misskey.io +best-friends.chat 15m.icolectiva.org 1oku.net 3.distsn.org