Update categories list after app list update.
This commit is contained in:
parent
e4d106a298
commit
ef784dffa8
@ -1,5 +1,6 @@
|
|||||||
package org.fdroid.fdroid.views.fragments;
|
package org.fdroid.fdroid.views.fragments;
|
||||||
|
|
||||||
|
import android.database.ContentObserver;
|
||||||
import android.database.Cursor;
|
import android.database.Cursor;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
@ -51,12 +52,37 @@ public class AvailableAppsFragment extends AppListFragment implements
|
|||||||
// functionality do its stuff.
|
// functionality do its stuff.
|
||||||
spinner.setId(R.id.categorySpinner);
|
spinner.setId(R.id.categorySpinner);
|
||||||
|
|
||||||
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),
|
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(
|
||||||
android.R.layout.simple_spinner_item, categories);
|
getActivity(), android.R.layout.simple_spinner_item, categories);
|
||||||
adapter.setDropDownViewResource(
|
adapter.setDropDownViewResource(
|
||||||
android.R.layout.simple_spinner_dropdown_item);
|
android.R.layout.simple_spinner_dropdown_item);
|
||||||
spinner.setAdapter(adapter);
|
spinner.setAdapter(adapter);
|
||||||
|
|
||||||
|
getActivity().getContentResolver().registerContentObserver(
|
||||||
|
AppProvider.getContentUri(), false,
|
||||||
|
new ContentObserver(null) {
|
||||||
|
@Override
|
||||||
|
public void onChange(boolean selfChange) {
|
||||||
|
// Wanted to just do this update here, but android tells
|
||||||
|
// me that "Only the original thread that created a view
|
||||||
|
// hierarchy can touch its views."
|
||||||
|
getActivity().runOnUiThread( new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
adapter.clear();
|
||||||
|
adapter.addAll(AppProvider.Helper.categories(getActivity()));
|
||||||
|
// adapter.notifyDataSetChanged();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onChange(boolean selfChange, Uri uri) {
|
||||||
|
onChange(selfChange);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
|
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
|
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
|
||||||
@ -71,7 +97,6 @@ public class AvailableAppsFragment extends AppListFragment implements
|
|||||||
getLoaderManager().restartLoader(0, null, AvailableAppsFragment.this);
|
getLoaderManager().restartLoader(0, null, AvailableAppsFragment.this);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
return spinner;
|
return spinner;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user