我正在修改一些代码以使其可用于新的RootTools 3.0(修复了一个重要错误):
我重写的一个部分看起来像这样,带有一个回调类以提高可读性。我添加了两个目录的大小来告诉可能被清除的浏览器缓存的总数:
@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 输入)似乎工作正常,但调试时无法查看总数。这是Java中带有final
外部变量的错误吗?Android中的错误?Eclipse 中的错误?