Android 8.0(Oreo)で一部の機能が動作していなかったので、その対応を行おうと修正を始めたら、あれもこれもといろいろな修正を行い、想像以上に大変な作業となってしまった。
というわけで久しぶりに更新内容を記載します。
Android 7.x(Nugar)以前のサポートを終了/Android 8.0(Oreo)への対応
ホームキー起動の仕様変更
- 通常のホームアプリとして利用できるように、以下3点の変更を実施しました。
- バックキーで終了しないように変更
- 壁紙を表示するように変更
- アナザーホーム設定を削除
ホームポインタの機能削除
- ホームアプリはポインタに手動で登録できるため、機能を削除しました。
ファンクションのマナーモード、音量の機能削除
- Oreoでマナーモードや音量を操作するにはパーミッションの設定が必要となります。最近のOSではステータスバーから素早くこれらの設置を変更をできることもあり、機能を削除しました。
オーバーレイ起動のタップによる起動を削除
操作時のアニメーションの追加、調整
- これまでウィンドウとその中のアプリなどしかアニメーションがありませんでしたが、各所にアニメーションを追加しています。
- ウィジェットの表示切替え時のアニメーションを追加
- オーバーレイアイコンの表示切替え時のアニメーションを追加
- ssFlickerからのアプリ起動時のアニメーションを追加
- その他のアニメーションを調整
ポインタやアプリのサイズを調整
- フリック中にアプリを選択すると拡大されますが、アプリアイコンのサイズによっては途切れてしまっていたため、サイズを調整しています。
編集モードで画面に枠を表示するように変更
- 編集モードであることがひと目で分かるようにしました。
プレビューアプリ選択ダイアログの仕様変更
- プレビューアプリ選択ダイアログ(ウィジェット一覧を表示するダイアログ)の見た目を変更しました。
- パッケージ名も表示するように変更
- パッケージ名も含めてソートするように変更
- ショートカット一覧もプレビューアプリ選択ダイアログで表示するように変更
設定画面のアクションバーに、Androidの設定アプリの起動アイコンを追加
- 設定画面のアクションバーに設置アイコンを設置し、Androidの設定アプリを起動できるようにしました。
Androidの設定アプリのアプリ情報画面からssFlickerの設定画面を起動する機能を追加
- 上とは逆に、Androidの設定アプリからssFlickerの設定画面を起動できるようにしました。
AppShortcutで設定画面と編集画面を起動する機能を追加
- Nougatから追加されたAppShortcutで、ssFlickerの設定画面と編集画面に起動できるようにしました。
その他の内部処理の修正
- その他に操作性や見た目には関係ない内部ロジックを色々と修正しています。
- Adaptive Iconの追加
- ACTION_PACKAGE_ADDEDなどのReceiverをSerivceに変更
- TYPE_APPLICATION_OVERLAY
- NotificationChannel
- BackupAgentの削除
- Manifestの不要なuses-futearaを削除
- launchModeをsingleTaskに変更して、画面遷移のたびに前の画面を終了しないように変更