version 2.7.1

This commit is contained in:
tateisu 2018-08-23 11:20:10 +09:00
parent 41eb039fc4
commit 979e2d0447
10 changed files with 68 additions and 13 deletions

View File

@ -29,7 +29,7 @@
</value>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">

View File

@ -12,8 +12,8 @@ android {
minSdkVersion 21
targetSdkVersion 27
versionCode 270
versionName "2.7.0"
versionCode 271
versionName "2.7.1"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
// https://stackoverflow.com/questions/47791227/java-lang-illegalstateexception-dex-archives-setting-dex-extension-only-for

View File

@ -970,12 +970,22 @@ class ActMain : AppCompatActivity()
, Column.TYPE_HOME
, bAllowPseudo = false
)
R.id.nav_add_tl_local -> Action_Account.timeline(
this
, defaultInsertPosition
, Column.TYPE_LOCAL
, bAllowPseudo = true
)
R.id.nav_add_tl_misskey_hybrid-> Action_Account.timeline(
this
, defaultInsertPosition
, Column.TYPE_MISSKEY_HYBRID
, bAllowPseudo = true
,bAllowMastodon = false
)
R.id.nav_add_tl_federate -> Action_Account.timeline(
this
, defaultInsertPosition

View File

@ -176,6 +176,7 @@ class Column(
internal const val TYPE_TREND_TAG = 24
internal const val TYPE_FOLLOW_SUGGESTION = 25
internal const val TYPE_KEYWORD_FILTER = 26
internal const val TYPE_MISSKEY_HYBRID = 27
internal const val TAB_STATUS = 0
internal const val TAB_FOLLOWING = 1
@ -201,6 +202,7 @@ class Column(
return when(type) {
TYPE_HOME -> context.getString(R.string.home)
TYPE_LOCAL -> context.getString(R.string.local_timeline)
TYPE_MISSKEY_HYBRID->context.getString(R.string.misskey_hybrid_timeline)
TYPE_FEDERATE -> context.getString(R.string.federate_timeline)
TYPE_PROFILE -> context.getString(R.string.profile)
TYPE_FAVOURITES -> context.getString(R.string.favourites)
@ -234,6 +236,7 @@ class Column(
TYPE_REPORTS -> R.attr.ic_info
TYPE_HOME -> R.attr.btn_home
TYPE_LOCAL -> R.attr.btn_local_tl
TYPE_MISSKEY_HYBRID->R.attr.ic_share
TYPE_FEDERATE -> R.attr.btn_federate_tl
TYPE_PROFILE -> R.attr.btn_statuses
TYPE_FAVOURITES -> if(SavedAccount.isNicoru(acct)) R.attr.ic_nicoru else R.attr.btn_favourite
@ -324,6 +327,7 @@ class Column(
return when(column_type) {
TYPE_HOME, TYPE_NOTIFICATIONS -> "/api/v1/streaming/?stream=user"
TYPE_LOCAL -> "/api/v1/streaming/?stream=public:local"
TYPE_MISSKEY_HYBRID-> null // FIXME MisskeyだしMastodonのURLではない
TYPE_FEDERATE -> "/api/v1/streaming/?stream=public"
TYPE_LIST_TL -> "/api/v1/streaming/?stream=list&list=" + profile_id.toString()
@ -1904,6 +1908,7 @@ class Column(
TYPE_DIRECT_MESSAGES -> return getStatuses(client, PATH_DIRECT_MESSAGES)
TYPE_LOCAL -> return getStatuses(client, makePublicLocalUrl())
TYPE_MISSKEY_HYBRID-> return getStatuses(client, makeMisskeyHybridTlUrl())
TYPE_FEDERATE -> return getStatuses(client, makePublicFederateUrl())
@ -2503,7 +2508,7 @@ class Column(
posted_reply_id : EntityId?
) {
when(column_type) {
TYPE_HOME, TYPE_LOCAL, TYPE_FEDERATE, TYPE_DIRECT_MESSAGES -> {
TYPE_HOME, TYPE_LOCAL, TYPE_FEDERATE, TYPE_DIRECT_MESSAGES ,TYPE_MISSKEY_HYBRID-> {
startRefresh(
true,
false,
@ -3342,7 +3347,8 @@ class Column(
TYPE_DIRECT_MESSAGES -> getStatusList(client, PATH_DIRECT_MESSAGES)
TYPE_LOCAL -> getStatusList(client, makePublicLocalUrl())
TYPE_MISSKEY_HYBRID-> getStatusList(client, makeMisskeyHybridTlUrl())
TYPE_FEDERATE -> getStatusList(client, makePublicFederateUrl())
TYPE_FAVOURITES -> getStatusList(client, PATH_FAVOURITES)
@ -4141,6 +4147,7 @@ class Column(
return when(column_type) {
TYPE_LOCAL -> getStatusList(client, makePublicLocalUrl())
TYPE_MISSKEY_HYBRID-> getStatusList(client, makeMisskeyHybridTlUrl())
TYPE_FEDERATE -> getStatusList(client, makePublicFederateUrl())
@ -4466,12 +4473,13 @@ class Column(
// マストドン2.4.3rcのキーワードフィルタのコンテキスト
private fun getFilterContext() = when(column_type) {
TYPE_HOME, TYPE_LIST_TL -> TootFilter.CONTEXT_HOME
TYPE_HOME, TYPE_LIST_TL,TYPE_MISSKEY_HYBRID -> TootFilter.CONTEXT_HOME
TYPE_NOTIFICATIONS -> TootFilter.CONTEXT_NOTIFICATIONS
TYPE_CONVERSATION -> TootFilter.CONTEXT_THREAD
TYPE_LOCAL, TYPE_FEDERATE, TYPE_HASHTAG, TYPE_PROFILE, TYPE_SEARCH -> TootFilter.CONTEXT_PUBLIC
TYPE_DIRECT_MESSAGES -> TootFilter.CONTEXT_PUBLIC
else -> TootFilter.CONTEXT_NONE
// TYPE_MISSKEY_HYBRID はHOMEでもPUBLICでもある… Misskeyだし関係ないかが、NONEにするとアプリ内で完結するフィルタも働かなくなる
}
// カラム設定に「すべての画像を隠す」ボタンを含めるなら真
@ -4482,8 +4490,9 @@ class Column(
// カラム設定に「ブーストを表示しない」ボタンを含めるなら真
fun canFilterBoost() : Boolean {
return when(column_type) {
TYPE_HOME, TYPE_PROFILE, TYPE_NOTIFICATIONS, TYPE_LIST_TL -> true
TYPE_LOCAL, TYPE_FEDERATE, TYPE_HASHTAG, TYPE_SEARCH,TYPE_CONVERSATION,TYPE_DIRECT_MESSAGES -> isMisskey
TYPE_HOME, TYPE_MISSKEY_HYBRID,TYPE_PROFILE, TYPE_NOTIFICATIONS, TYPE_LIST_TL -> true
TYPE_LOCAL, TYPE_FEDERATE, TYPE_HASHTAG, TYPE_SEARCH -> isMisskey
TYPE_CONVERSATION,TYPE_DIRECT_MESSAGES -> isMisskey
else -> false
}
}
@ -4491,7 +4500,7 @@ class Column(
// カラム設定に「返信を表示しない」ボタンを含めるなら真
fun canFilterReply() : Boolean {
return when(column_type) {
TYPE_HOME, TYPE_PROFILE, TYPE_NOTIFICATIONS,TYPE_LIST_TL, TYPE_DIRECT_MESSAGES -> true
TYPE_HOME, TYPE_MISSKEY_HYBRID, TYPE_PROFILE, TYPE_NOTIFICATIONS,TYPE_LIST_TL, TYPE_DIRECT_MESSAGES -> true
TYPE_LOCAL, TYPE_FEDERATE, TYPE_HASHTAG, TYPE_SEARCH -> isMisskey
else -> false
}
@ -4499,7 +4508,8 @@ class Column(
fun canFilterNormalToot() : Boolean {
return when(column_type) {
TYPE_HOME, TYPE_LIST_TL -> true
TYPE_HOME,TYPE_MISSKEY_HYBRID, TYPE_LIST_TL -> true
TYPE_LOCAL, TYPE_FEDERATE, TYPE_HASHTAG, TYPE_SEARCH -> isMisskey
else -> false
}
}
@ -4550,6 +4560,7 @@ class Column(
} else if(item is TootStatus) {
if(column_type == TYPE_NOTIFICATIONS) return
if(column_type == TYPE_LOCAL && item.account.acct.indexOf('@') != - 1) return
if(isFiltered(item)) return
if(this@Column.enable_speech) {
App1.getAppState(context).addSpeech(item.reblog ?: item)
@ -4803,6 +4814,13 @@ class Column(
else -> PATH_LOCAL
}
}
private fun makeMisskeyHybridTlUrl() : String {
return when {
access_info.isMisskey -> "/api/notes/hybrid-timeline"
with_attachment -> "$PATH_LOCAL&only_media=true" // mastodon 2.3 or later
else -> PATH_LOCAL
}
}
private fun makePublicFederateUrl() : String {
return when {

View File

@ -148,6 +148,7 @@ object Action_Account {
type : Int,
bAllowPseudo : Boolean,
bAllowMisskey: Boolean =true,
bAllowMastodon: Boolean =true,
args : Array<out Any> = emptyArray()
) {
@ -155,6 +156,7 @@ object Action_Account {
activity,
bAllowPseudo = bAllowPseudo,
bAllowMisskey = bAllowMisskey,
bAllowMastodon = bAllowMastodon,
bAuto = true,
message = activity.getString(
R.string.account_picker_add_timeline_of,

View File

@ -27,6 +27,7 @@ object AccountPicker {
activity : AppCompatActivity,
bAllowPseudo : Boolean = false,
bAllowMisskey : Boolean = true,
bAllowMastodon: Boolean = true,
bAuto : Boolean = false,
message : String? = null,
accountListArg : ArrayList<SavedAccount>? = null,
@ -35,10 +36,16 @@ object AccountPicker {
) {
var removedMisskey =0
var removedPseudo =0
var removeMastodon = 0
val account_list : MutableList<SavedAccount> = accountListArg ?: {
val l = SavedAccount.loadAccountList(activity).filter { a->
var bOk = true
if( !bAllowMastodon && !a.isMisskey ){
++removeMastodon
bOk=false
}
if( !bAllowMisskey && a.isMisskey ){
++removedMisskey
bOk=false
@ -67,6 +74,10 @@ object AccountPicker {
if(sb.isNotEmpty() ) sb.append('\n')
sb.append(activity.getString(R.string.not_available_for_misskey_account))
}
if( removeMastodon > 0 ){
if(sb.isNotEmpty() ) sb.append('\n')
sb.append(activity.getString(R.string.not_available_for_mastodon_account))
}
if( sb.isEmpty() ){
sb.append(activity.getString(R.string.account_empty))

View File

@ -42,6 +42,11 @@
android:icon="?attr/ic_mail"
android:title="@string/direct_messages"/>
<item
android:id="@+id/nav_add_tl_misskey_hybrid"
android:icon="?attr/ic_share"
android:title="@string/misskey_hybrid_timeline_long"/>
<item
android:id="@+id/nav_add_tl_local"
android:icon="?attr/btn_local_tl"

View File

@ -215,6 +215,8 @@
<string name="nickname_label">Pseudo et couleur. (s\'il est spécifié, il remplacera le nom du compte affiché)</string>
<string name="not_available_for_pseudo_account">Non disponible pour les personnes non connectés</string>
<string name="not_available_for_misskey_account">Not available for Misskey account</string>
<string name="not_available_for_mastodon_account">Not available for Mastodon account</string>
<string name="not_selected">(Aucune sélection)</string>
<string name="notification_count">%1$d notifications</string>
<string name="notification_delete">Effacer les notifications</string>
@ -764,8 +766,9 @@
<string name="start">Start</string>
<string name="center">Center</string>
<string name="end">End</string>
<!--<string name="abc_action_bar_home_description">Revenir à l\'accueil</string>-->
<string name="misskey_hybrid_timeline">Social timeline</string>
<string name="misskey_hybrid_timeline_long">Social TL (Misskey)</string>
<!--<string name="abc_action_bar_home_description">Revenir à l\'accueil</string>-->
<!--<string name="abc_action_bar_home_description_format">%1$s, %2$s</string>-->
<!--<string name="abc_action_bar_home_subtitle_description_format">%1$s, %2$s, %3$s</string>-->
<!--<string name="abc_action_bar_up_description">Revenir en haut de la page</string>-->

View File

@ -413,6 +413,7 @@
<string name="not_available_for_pseudo_account">疑似アカウントでは利用できません</string>
<string name="not_available_for_misskey_account">Misskeyアカウントでは利用できません</string>
<string name="not_available_for_mastodon_account">Mastodonアカウントでは利用できません</string>
<string name="pseudo_account">疑似アカウント(ログインなし、公開データを読めるだけ)</string>
@ -1042,5 +1043,7 @@
<string name="start">始端</string>
<string name="center">中央</string>
<string name="end">終端</string>
<string name="misskey_hybrid_timeline_long">ソーシャルTL(Misskey)</string>
<string name="misskey_hybrid_timeline">ソーシャルTL</string>
</resources>

View File

@ -218,6 +218,7 @@
<string name="server_confirmed">Server confirmed.</string>
<string name="not_available_for_pseudo_account">Not available for pseudo account</string>
<string name="not_available_for_misskey_account">Not available for Misskey account</string>
<string name="not_available_for_mastodon_account">Not available for Mastodon account</string>
<string name="exit_app_when_close_protected_column">Exit app when try to close protected column with back button without confirm</string>
<string name="resize_image">Resize attachment image (JPEG,PNG)</string>
<string name="dont_resize">Don\'t resize</string>
@ -750,4 +751,6 @@
<string name="start">Start</string>
<string name="center">Center</string>
<string name="end">End</string>
<string name="misskey_hybrid_timeline">Social timeline</string>
<string name="misskey_hybrid_timeline_long">Social TL (Misskey)</string>
</resources>