Android Q beta4 のOTAが来ない理由

リリースアナウンスからもう5日間くらい経ってるのに!

Today we’re releasing Beta 4 with the final Android Q APIs and official SDK -- the time is now to get your apps ready for the final release later in the summer!

You can get Beta 4 today on Pixel devices by enrolling here. If you're already enrolled and received the Beta 3 on your Pixel device, you'll automatically get the update to Beta 4. Partners participating in the Android Q Beta program will also be updating their devices to Beta 4 over the coming weeks.

👉 Android Developers Blog: Android Q Beta 4 and Final APIs! 

来ない。

どうやら、問題発生のためGoogleが配布を一旦停止してる模様。

Update 2 (6/6/19 @ 9:25 AM ET): Google has halted the Android Q Beta 4 OTA update due to bootlooping issues.

Update 2: OTA Halted
Numerous Pixel owners reported that their devices were bootlooping after installing the Android Q Beta 4 OTA update. It appeared to mostly affect Pixel 2 XL owners, but a few Pixel 3 owners also had the problem. A factory reset fixed things, but this is obviously a problem. Google has officially halted the OTA on all Pixel phones as they investigate the situation.

We’re aware of an issue with Android Q Beta 4 related to installing updates. We’ve temporarily paused Beta 4 OTA updates to all Pixel devices as we investigate the issue. We apologize for any inconvenience, and will provide an update once the issue is resolved.

👉 [Update: OTA halted] Android Q Beta 4 is here for the Google Pixel, API 29 publishing now available 

Update:
We're aware of an issue with Android Q Beta 4 related to installing updates. We've temporarily paused Beta 4 OTA updates to all Pixel devices as we investigate the issue. We apologize for any inconvenience, and will provide an update once the issue is resolved.

Note: this post was edited to reflect that Beta 4 updates have now been paused on all devices.

👉 Android Q Beta 4 now available! : android_beta 

ブート周りは不具合は、これまでもよくありました。

再開されるのは、いつなのか。

更新されたらレビューしたいと思います。

👉 Android Q Release Watcher 
👉 Android Q beta 4 update temporarily halted due to installation woes 


Android Q Release Watcher


Android Q release date
- March 13: The first Android 10 developer beta has launched
- April 3: Android Q beta 2 gave us bugs fixes and app bubbles
- May 7: Android Q beta 3 launched at Google IO 2019
- Early June: The final incremental update, beta 4, should land in June
- July: Beta 5 and beta 6, release candidates, may land this month
- August: The final release has routinely happened in August

👉 Android Q release date, new features and everything you need to know | TechRadar 

Beta 4



Update 2 (6/6/19 @ 9:25 AM ET): Google has halted the Android Q Beta 4 OTA update due to bootlooping issues.

Update 2: OTA Halted
Numerous Pixel owners reported that their devices were bootlooping after installing the Android Q Beta 4 OTA update. It appeared to mostly affect Pixel 2 XL owners, but a few Pixel 3 owners also had the problem. A factory reset fixed things, but this is obviously a problem. Google has officially halted the OTA on all Pixel phones as they investigate the situation.

We’re aware of an issue with Android Q Beta 4 related to installing updates. We’ve temporarily paused Beta 4 OTA updates to all Pixel devices as we investigate the issue. We apologize for any inconvenience, and will provide an update once the issue is resolved.

👉 Android Q Beta 4 now available! : android_beta 

👉 Android Q beta4 のOTAが来ない理由 


AbsentLiveData とは?

あちこちで見かける AbsentLiveData。

ViewModel の中で以下のように使われています。


val game: LiveData<RefreshableResource<GameEntity>> = Transformations.switchMap(_gameId) { gameId ->
    when (gameId) {
        BggContract.INVALID_ID -> AbsentLiveData.create()
        else -> gameRepository.getGame(gameId)
    }
}

調べてみると、

どうやら、null の入った LiveData のようです。


/**
 * A LiveData class that has `null` value.
 */
class AbsentLiveData<T : Any?> private constructor(): LiveData<T>() {
    init {
        // use post instead of set since this can be created on any thread
        postValue(null)
    }

    companion object {
        fun <T> create(): LiveData<T> {
            return AbsentLiveData()
        }
    }
}

👉 android-architecture-components/AbsentLiveData.kt at master · googlesamples/android-architecture-components 

うん、揃う。

これは、コピペで使っていきましょう。