新しいRootTools 3.0 (重要なバグを修正)で使用できるように、いくつかのコードを作り直しています。
私が書き直した 1 つのセクションは、読みやすくするためにコールバック クラスを使用して、次のようになります。クリアできるブラウザ キャッシュの合計を示すために、2 つのディレクトリのサイズを追加しています。
@Override
protected void onResume() {
super.onResume();
//Refresh views:
try {
//Show browser's cache size:
ShellCommands.getListing("/data/data/com.android.browser/app_databases/", null, new Callback<SumSize>() {
@Override
public void call(SumSize localstore) throws InterruptedException, IOException, TimeoutException, RootDeniedException {
final SumSize total = localstore;
getFirefoxProfiles(new Callback<String>() {
@Override
public void call(String input) throws InterruptedException, IOException, TimeoutException, RootDeniedException {
ShellCommands.getListing(input+"/Cache/", null, new Callback<SumSize>() {
@Override
public void call(SumSize input) {
total.add(input);
((TextView)findViewById(R.id.lblClearBrowser)).setText(total.getReadable());
}
});
}
});
}
});
の場合よりも少し複雑.waitforfinish
ですが、デバッグで深刻な問題が発生しています。最も内側の呼び出し (SumSize 入力) は正しく機能しているように見えますが、デバッグ時に合計を確認する方法がありません。final
これは、外部変数を使用した Java のバグですか? アンドロイドのバグ?Eclipse のバグ?