From 5a8579637d40cc7ec96373bf58bc1fc540895b03 Mon Sep 17 00:00:00 2001 From: tateisu Date: Tue, 16 May 2017 03:47:18 +0900 Subject: [PATCH] =?UTF-8?q?Android=207.0=20=E3=81=AE=E3=83=90=E3=82=B0?= =?UTF-8?q?=E3=81=A7HTTPS=E6=8E=A5=E7=B6=9A=E3=81=A7=E3=81=8D=E3=81=AA?= =?UTF-8?q?=E3=81=84=E5=A0=B4=E5=90=88=E3=81=AB=E5=85=8D=E8=B2=AC=E6=83=85?= =?UTF-8?q?=E5=A0=B1=E3=82=92=E8=A1=A8=E7=A4=BA=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 4 +- .../java/jp/juggler/subwaytooter/ActMain.java | 39 ++++++++++++------- app/src/main/res/values-fr/strings.xml | 1 + app/src/main/res/values-ja/strings.xml | 4 +- app/src/main/res/values/strings.xml | 1 + 5 files changed, 33 insertions(+), 16 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 4cb16778..e07b7889 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,8 +9,8 @@ android { applicationId "jp.juggler.subwaytooter" minSdkVersion 21 targetSdkVersion 25 - versionCode 56 - versionName "0.5.6" + versionCode 57 + versionName "0.5.7" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } diff --git a/app/src/main/java/jp/juggler/subwaytooter/ActMain.java b/app/src/main/java/jp/juggler/subwaytooter/ActMain.java index 626efa85..62aa0a16 100644 --- a/app/src/main/java/jp/juggler/subwaytooter/ActMain.java +++ b/app/src/main/java/jp/juggler/subwaytooter/ActMain.java @@ -8,6 +8,7 @@ import android.content.Intent; import android.content.SharedPreferences; import android.net.Uri; import android.os.AsyncTask; +import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.os.SystemClock; @@ -331,7 +332,7 @@ public class ActMain extends AppCompatActivity } } } - + }else if( requestCode == REQUEST_CODE_ACCOUNT_SETTING ){ updateColumnStrip(); @@ -339,7 +340,7 @@ public class ActMain extends AppCompatActivity for( Column column : app_state.column_list ){ column.fireShowColumnHeader(); } - + if( data != null ){ startAccessTokenUpdate( data ); return; @@ -356,17 +357,17 @@ public class ActMain extends AppCompatActivity }else if( requestCode == REQUEST_CODE_NICKNAME ){ updateColumnStrip(); - + for( Column column : app_state.column_list ){ column.fireShowColumnHeader(); } - + }else if( requestCode == REQUEST_CODE_POST ){ if( data != null ){ posted_acct = data.getStringExtra( ActPost.EXTRA_POSTED_ACCT ); posted_status_id = data.getLongExtra( ActPost.EXTRA_POSTED_STATUS_ID, 0L ); } - + }else if( requestCode == REQUEST_COLUMN_COLOR ){ if( data != null ){ app_state.saveColumnList(); @@ -711,7 +712,7 @@ public class ActMain extends AppCompatActivity ///////tablet_pager.setHasFixedSize( true ); // tablet_pager.addItemDecoration( new TabletColumnDivider( this ) ); - tablet_snap_helper =new GravitySnapHelper( Gravity.START ); + tablet_snap_helper = new GravitySnapHelper( Gravity.START ); tablet_snap_helper.attachToRecyclerView( tablet_pager ); } @@ -851,9 +852,21 @@ public class ActMain extends AppCompatActivity return; } + log.e( result.error ); + + if( sv.contains( "SSLHandshakeException" ) + && ( Build.VERSION.RELEASE.startsWith( "7.0" ) + || ( Build.VERSION.RELEASE.startsWith( "7.1" ) && ! Build.VERSION.RELEASE.startsWith( "7.1." ) ) ) + ){ + new AlertDialog.Builder( ActMain.this ) + .setMessage( sv + "\n\n" + getString( R.string.ssl_bug_7_0 ) ) + .setNeutralButton( R.string.close, null ) + .show(); + return; + } + // 他のエラー Utils.showToast( ActMain.this, true, sv ); - log.e( result.error ); }else{ SavedAccount a = addPseudoAccount( instance ); if( a != null ){ @@ -974,7 +987,7 @@ public class ActMain extends AppCompatActivity m = reUserPage.matcher( uri.toString() ); if( m.find() ){ // ユーザページをアプリ内で開く - + // https://mastodon.juggler.jp/@SubwayTooter final String host = m.group( 1 ); final String user = Uri.decode( m.group( 2 ) ); @@ -1051,7 +1064,7 @@ public class ActMain extends AppCompatActivity } // OAuth2 認証コールバック - + final ProgressDialog progress = new ProgressDialog( ActMain.this ); final AsyncTask< Void, Void, TootApiResult > task = new AsyncTask< Void, Void, TootApiResult >() { @@ -3021,7 +3034,7 @@ public class ActMain extends AppCompatActivity }else{ for( int i = 0, ie = tablet_layout_manager.getChildCount() ; i < ie ; ++ i ){ View v = tablet_layout_manager.getChildAt( i ); - TabletColumnViewHolder holder = (TabletColumnViewHolder) tablet_pager.getChildViewHolder(v); + TabletColumnViewHolder holder = (TabletColumnViewHolder) tablet_pager.getChildViewHolder( v ); if( holder != null && holder.vh.isColumnSettingShown() ){ holder.vh.closeColumnSetting(); return true; @@ -3141,13 +3154,13 @@ public class ActMain extends AppCompatActivity // 最小幅で2つ表示できないのなら1カラム表示 tablet_pager_adapter.setColumnWidth( sw ); }else{ - + // カラム最小幅から計算した表示カラム数 nScreenColumn = sw / column_w_min; if( nScreenColumn <= 0 ){ nScreenColumn = 1; } - + // データのカラム数より大きくならないようにする // (でも最小は1) int column_count = app_state.column_list.size(); @@ -3156,7 +3169,7 @@ public class ActMain extends AppCompatActivity nScreenColumn = column_count; } } - + // 表示カラム数から計算したカラム幅 int column_w = sw / nScreenColumn; diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index f6ef7221..5b451e05 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -315,6 +315,7 @@ Ce mot a été interdit. Vos statuts Icon de l\'application créée par フタバ + Android 7.0 has a bug that can use only one elliptic curve \"prime256v1\".\nBut the instance you will connect seems does not support it.\nIf you can update OS, this bug is fixed at Android 7.1.1.\nOr you can send request to instance owner to support elliptic curve \"prime256v1\".\nsee also https://code.google.com/p/android/issues/detail?id=224438 diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 41dc71f7..e5fded47 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -602,4 +602,6 @@ どのアカウントで返信しますか? 別アカウントで返信 ランチャーアイコンはフタバさんがデザインしました - \ No newline at end of file + + Android 7.0 には利用できる elliptic curve が \"prime256v1\" だけというバグがあります。\nしかし対象のインスタンスはこの elliptic curve に対応していないようです。\n可能ならOSバージョン 7.1.1以降にアップデートするとバグは修正されます。\nもしくは elliptic curve \"prime256v1\" に対応してもらうよう、あなたからインスタンスのオーナーに要望を出すことができます。\n関連情報 https://code.google.com/p/android/issues/detail?id=224438 + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 2a2f47d4..7cd56925 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -312,4 +312,5 @@ Which account do you reply from? Reply from another account Launcher icon is designed by フタバ + Android 7.0 has a bug that can use only one elliptic curve \"prime256v1\".\nBut the instance you will connect seems does not support it.\nIf you can update OS, this bug is fixed at Android 7.1.1.\nOr you can send request to instance owner to support elliptic curve \"prime256v1\".\nsee also https://code.google.com/p/android/issues/detail?id=224438