天天看點

Settings點選Location(位置)後右上角的開關button不會消失

MT8121/8382平台:

前幾天又遇到一個源碼的bug。在10寸平闆上,進入設定界面,點選Location(位置)項,右上角Title處會顯示一個開關button,用來開關定位服務。但點完Location項再點其他項的時候,button并不會消失。直到你點到Developer(開發者選項),再點選其他項那個button才會消失。Developer項本身右上角也有一個開關button。

于是很自然地想到,在切換設定項時,Location頁面在退出時沒有把button去掉。

結果一看果然是。

--- a/packages/apps/Settings/src/com/android/settings/location/<span style="color: #000000;">LocationSettings.java </span>+++ b/packages/apps/Settings/src/com/android/settings/location/<span style="color: #000000;">LocationSettings.java @@ </span>-100,6 +100,9 @@ <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span> LocationSettings <span style="color: #0000ff;">extends</span><span style="color: #000000;"> LocationSettingsBase </span><span style="color: #0000ff;">super</span><span style="color: #000000;">.onPause(); mValidListener </span>= <span style="color: #0000ff;">false</span><span style="color: #000000;">; mSwitch.setOnCheckedChangeListener(</span><span style="color: #0000ff;">null</span><span style="color: #000000;">); </span>+ getActivity().getActionBar().setCustomView(<span style="color: #0000ff;">null</span><span style="color: #000000;">);</span>

1 --- a/packages/apps/Settings/src/com/android/settings/location/<span style="color: #000000;">LocationSettings.java </span>+++ b/packages/apps/Settings/src/com/android/settings/location/<span style="color: #000000;">LocationSettings.java @@ </span>-100,6 +100,9 @@ <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span> LocationSettings <span style="color: #0000ff;">extends</span><span style="color: #000000;"> LocationSettingsBase </span><span style="color: #0000ff;">super</span><span style="color: #000000;">.onPause(); mValidListener </span>= <span style="color: #0000ff;">false</span><span style="color: #000000;">; mSwitch.setOnCheckedChangeListener(</span><span style="color: #0000ff;">null</span><span style="color: #000000;">); </span>+        getActivity().getActionBar().setCustomView(<span style="color: #0000ff;">null</span><span style="color: #000000;">);</span>