Nonograms (お絵かきロジック/ ピクロス) - Android 10 Easter Egg パズルゲーム

Android 10 のイースターエッグは、

これです。



Android システム通知アイコン(16x16px)のノノグラム(お絵かきロジック)です。

お絵かきロジック(おえかきロジック)は、縦と横の数字をヒントに塗り潰すマス目を割り出し、そのとおりに塗り潰していくと、最終的に絵(または文字)が浮かび上がるタイプのペンシルパズル。ののぐらむ、イラストロジック、ピクロスとも呼ばれている。

👉 お絵かきロジック - Wikipedia 

いくつかやってみました。

手順

上の動画のように、イースターエッグにはこれまでどおり、設定画面のバージョン部分の連続タップで入ります。

「Android 10」の文字が表示されたら連続タップしながら「10」を「Q」の文字に並べ替えたあと「Android」の文字を連続タップです。



これ、初めてやりましたが変な達成感があってくせになります。

よかったらやってみてねー!


「Android 10」のバージョンの参照の方法

「Android 10」は、日本時間今朝早朝に3:00頃に更新されていました。



バージョンナンバーについては、内部的にどう参照されるべきなのか。

今回も吐かせてみます、コードから。


for (field in Build.VERSION_CODES::class.java.declaredFields) {
  field.isAccessible = true
  Timber.d(field.get(this).toString() + " -> " + field.name)
}
Timber.d("RELEASE : " + Build.VERSION.RELEASE)
Timber.d("SDK     : " + Build.VERSION.SDK_INT)

👉 Android OS バージョンのコードネームを取得する 

結果


D: 1 -> BASE
D: 2 -> BASE_1_1
D: 3 -> CUPCAKE
D: 10000 -> CUR_DEVELOPMENT
D: 4 -> DONUT
D: 5 -> ECLAIR
D: 6 -> ECLAIR_0_1
D: 7 -> ECLAIR_MR1
D: 8 -> FROYO
D: 9 -> GINGERBREAD
D: 10 -> GINGERBREAD_MR1
D: 11 -> HONEYCOMB
D: 12 -> HONEYCOMB_MR1
D: 13 -> HONEYCOMB_MR2
D: 14 -> ICE_CREAM_SANDWICH
D: 15 -> ICE_CREAM_SANDWICH_MR1
D: 16 -> JELLY_BEAN
D: 17 -> JELLY_BEAN_MR1
D: 18 -> JELLY_BEAN_MR2
D: 19 -> KITKAT
D: 20 -> KITKAT_WATCH
D: 21 -> LOLLIPOP
D: 22 -> LOLLIPOP_MR1
D: 23 -> M
D: 24 -> N
D: 25 -> N_MR1
D: 26 -> O
D: 27 -> O_MR1
D: 28 -> P
D: 29 -> Q
D: RELEASE : 10
D: SDK     : 29

あ、

すでに、Mから内部的には「スイーツ名」は使ってなかったのですな。

(👉 続いて、Android10の新機能を試す(記事更新中...待て))


さらば proguard、ようこそ R8。

DSL element 'useProguard' is obsolete and will be removed soon. Use 'android.enableR8' in gradle.properties to switch between R8 and Proguard..

DSL要素「useProguard」は廃止されており、まもなく削除されます。 gradle.propertiesで「android.enableR8」を使用して、R8とProguardを切り替えます。

gradle.properties


android.enableR8=true

build.gradle

とりあえずは、いけるが。

以下、編集風景。



しかし、minify とか、proguardFiles とか、どうなるの?

👉 Android Developers Blog: R8, the new code shrinker from Google, is available in Android studio 3.3 beta