Lineage OS をアップグレードする

Androidカスタムである Lineage OS 15.x を 16.x (9.0 Pie) にアップグレードする。

機種は、Google Nexus6 (shamu)

メジャーバージョンの更新は、通知バーからクリックのみでの更新はできない。

いくつか、引っかかった点があるのでメモ。

USBケーブルの接続は今回は一切不要。すでにインストール済みのTWRP上で、それ自身の更新から始める

端末上でブラウザで、「リカバリ」、「OS」、「GApps」、の3つのアーカイブをダウンロードしてインストールする。


👉 Download TWRP for shamu


👉 LineageOS Downloads


👉 The Open GApps Project

TWRP も最新版にしておかないと、メインのOSの zip が signature failed などと言われてインストールできない。

👉 LineageOS を Nexus 6 (shamu) に入れてみる

twrp.img もWEB経由で端末上でダウンロードしておき、旧版TWRPの「install 」から「img install」 で「recovory」領域に。

TWRP初回起動時にパスワードを求められ、「複合化できません」などと先に進めない場合は「Wipe」-「Format Data」。元のデータが残っている。



Lineage OS 16.0

AndroidのGoogleアカを使ったバックアップのしくみでインストールアプリは一見復元されているように見えるが、信用はしていない。

なお、今現在の Lineage OS では、Huawei端末向けでは以下が公開されている。
Huawei Lineage OS
LineageOS Downloads

👉 今後、Huawei端末ユーザ ができること
👉【公式 2018-05-07】Android Pie のバージョンシェア がやっと 10%超えている件


【Android Pie】「通知」設定のシンプルな考え方

Android 9.0 Pie では、基本的にここからでよい。
(機種によって多少は違う)

「設定」-「アプリと通知」-「通知」

ここから、システム上での通知の設定を行う。

- 「サイレントモード」

- アプリごとの「通知の表示」

あとは、各アプリを起動しての

- アプリ内の機能によるON/OFF。

の3つで「通知」の設定を行う。

Android で通知を管理する - Android ヘルプ

サイレントモード

「音」にだけ関する設定かと思っていたのですが、視覚的な「通知の表示」についても設定が反映されます。

Android のサイレント モードで割り込みを制限する - Android ヘルプ

アプリごとの「通知の表示」

私はこの方法のみで設定することにしています。

「通知を最近送信したアプリ」からアプリごとにOFFしていく。

という手順でやっています。

アプリ内の機能によるON/OFF

各アプリ内で設定する。

例えば、以下LINEの場合。

まとめ

これまでのAndroidのバージョンでも、ブロックやフィルターなど煩わしい通知の設定で混乱してきましたが、今回 Android Pie の仕様はどうなのでしょうね。

通知が表示されない とかどうせブロックの設定だろ! → 原因「フィルター」

Android 7.1 ( API25 / N_MR1 ) の通知の設定

「通知」に関する部分は、仕様の変更が多く、イライラさせられることが多いです。



最後に、疑問を一つ。

通知をOFFにしているアプリの一覧をどこかで確認できないのか。

このような。


This is fixed in Q. No fix is available in Pie.

見れないのかPieでは。

と思いきや、GalaxyのAndroid 9 Pie では見れる。

ちなみ、Q beta3 では、「OFFにしました」で fixed。

なんせ、複雑過ぎではない? 今のスマホ。

Android 9 Pie 使ってみた
【Android Pie】ナビゲーションバー の ホームボタン を ピル型 にする方法
【Android Pie】Google Digital Wellbeing を使う
【Android Pie】Auto-rotate (自動回転) OFF のときの挙動
【Android Pie】使いやすくなった音量設定
【Android Pie】スクリーンショット取得→編集 は「電源ボタン長押し」から
【Android Pie】通知を最小化する / 元に戻す
👉【公式 2018-05-07】Android Pie のバージョンシェア がやっと 10%超えている件

→ 分割非対応アプリを2画面で表示する。- YouTube


Paging DataSourceFactory toLiveData() toObservable() が見つからない。

Javaのこのコードが、


public class ConcertViewModel extends ViewModel {
  private ConcertDao concertDao;
  public final Observable<PagedList<Concert>> concertList;

  public ConcertViewModel(ConcertDao concertDao) {
    this.concertDao = concertDao;
    concertList = new RxPagedListBuilder<>(
          concertDao.concertsByDate(), 50)
                  .buildObservable();
  }
}

Kotlinでこう書けるはずなのに!


class ConcertViewModel(concertDao: ConcertDao) : ViewModel() {
  val concertList: Observable<PagedList<Concert>> =
        concertDao.concertsByDate().toObservable(pageSize = 50)
}

Paging library overview  |  Android Developers

見つからない toObservable()。

- Added DataSourceFactory.toLiveData() as a Kotlin alternative for LivePagedListBuilder
- Added DataSourceFactory.toObservable() and toFlowable() as Kotlin alternatives for RxPagedListBuilder

Paging  |  Android Developers

どうやら -ktx のようです。


implementation "androidx.paging:paging-runtime-ktx:2.1.0"
implementation "androidx.paging:paging-rxjava2-ktx:2.1.0"

Maven Repository: androidx.paging

最近は、同じ処理でも複数の書き方があることが多くなって最初混乱したりします。