入口Activity:com.android.settings.Settings,继承自SettingsActivity
Settings这个类中声明了一系列继承自SettingsActivity的静态内部类,比如 BluetoothSettingsActivity,除此之外,声明都没干, 这些类都是干什么用?后面会有答案
SettingsActivity
起点和重点就在这个类:
SettingsActivity extends SettingsDrawerActivity
从onCreate说起:
|
|
回答上面的一个问题,Settings中的静态内部类,比如BluetoothSettingsActivity等,每个都是在Manifest中注册的一个Activity,它们都完全以依赖父类SettingsActivity的实现,之所以这样做就是为了给Manifest清单文件中提供不同的Activity的类名,并且在首页Settings的DashboardSummary中的RecyclerView中每个item点击时跳转到对应的Activity.
FallbackHome
//TODO
彩蛋
FirmwareVersionPreferenceController 中handlePreferenceTreeClick 处理的,如果在500ms之内点了三次,则跳入彩蛋页面。是这样实现的:
|
|
|
|
PlatLogoActivity中就放了一张名为 platlogo的矢量图。这还没完,如果点击五次之后再长按这张奥利奥图片,则进入另外一个彩蛋页,这个Activity经搜索是在一个叫做EasterEgg的单独项目中(com.android.egg.octo.Ocquarium Actrivity):
|
|
|
|