microg/GmsCore · error · IllegalStateException
Neither preferencesResource given, nor overriden getFragment
Error message
Neither preferencesResource given, nor overriden getFragment()
What it means
Configuration guard in AbstractSettingsActivity.getFragment: the subclass set no preferencesResource and did not override getFragment(), so the activity cannot build its content fragment. It fires from onCreate when both options are missing.
Source
Thrown at play-services-core/microg-ui-tools/src/main/java/org/microg/tools/ui/AbstractSettingsActivity.java:72
getSupportFragmentManager().beginTransaction()
.addToBackStack("root")
.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
.replace(R.id.content_wrapper, fragment)
.commit();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
finish();
return true;
}
return super.onOptionsItemSelected(item);
}
protected Fragment getFragment() {
if (preferencesResource == 0) {
throw new IllegalStateException("Neither preferencesResource given, nor overriden getFragment()");
}
ResourceSettingsFragment fragment = new ResourceSettingsFragment();
Bundle b = new Bundle();
b.putInt(ResourceSettingsFragment.EXTRA_PREFERENCE_RESOURCE, preferencesResource);
fragment.setArguments(b);
return fragment;
}
}
View on GitHub (pinned to 157c9d86ac)
Solutions
- Assign a preferences XML resource in the activity's static/constructor block
- Override getFragment() to supply a custom Fragment
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at play-services-core/microg-ui-tools/src/main/java/org/microg/tools/ui/AbstractSettingsActivity.java:72 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of microg/GmsCore@157c9d86ac (2026-09-06).
Data as JSON: /api/errors/c612eee119fd7e0b.
Report an issue: GitHub.