Preference acitivty

This commit is contained in:
danijoo
2015-12-31 16:43:48 +01:00
parent e27dc19b26
commit 209810bca5
12 changed files with 180 additions and 12 deletions

View File

@@ -1,11 +1,11 @@
package net.headlezz.notificationlogger;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.MenuItem;
import android.widget.Toast;
import butterknife.Bind;
import butterknife.ButterKnife;
@@ -22,14 +22,15 @@ public class MainActivity extends AppCompatActivity implements Toolbar.OnMenuIte
ButterKnife.bind(this);
mToolbar.inflateMenu(R.menu.main_activity);
mToolbar.setTitle(getString(R.string.app_name));
mToolbar.setOnMenuItemClickListener(this);
}
@Override
public boolean onMenuItemClick(MenuItem item) {
if(item.getItemId() == R.id.menu_settings) {
Toast.makeText(this, "Not implemented", Toast.LENGTH_SHORT).show();
return true;
Intent intent = new Intent(this, PreferenceActivity.class);
startActivity(intent);
}
return false;
}

View File

@@ -0,0 +1,50 @@
package net.headlezz.notificationlogger;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import com.mikepenz.aboutlibraries.LibsBuilder;
import com.mikepenz.aboutlibraries.ui.LibsSupportFragment;
import butterknife.Bind;
import butterknife.ButterKnife;
public class PreferenceActivity extends AppCompatActivity implements PreferenceFragment.PreferenceCallbacks {
@Bind(R.id.toolbar)
Toolbar mToolbar;
@SuppressWarnings("ConstantConditions")
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.preference_activity);
ButterKnife.bind(this);
setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setTitle(R.string.title_settings);
if(getSupportFragmentManager().findFragmentById(R.id.fragment_holder) == null) {
PreferenceFragment pf = new PreferenceFragment();
getSupportFragmentManager().beginTransaction()
.add(R.id.fragment_holder, pf)
.commit();
}
}
public void showAboutScreen() {
// TODO add other libraries
LibsSupportFragment aboutFrag = new LibsBuilder()
.withAboutAppName(getString(R.string.app_name))
.withAboutIconShown(true)
.withAboutVersionShown(true)
.withAboutVersionShownCode(true)
.supportFragment();
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragment_holder, aboutFrag)
.addToBackStack("about")
.commit();
}
}

View File

@@ -0,0 +1,46 @@
package net.headlezz.notificationlogger;
import android.app.Activity;
import android.os.Bundle;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceFragmentCompat;
public class PreferenceFragment extends PreferenceFragmentCompat implements Preference.OnPreferenceClickListener {
private PreferenceCallbacks mCallbacks;
final String PREF_ABOUT = "pref_about";
interface PreferenceCallbacks {
void showAboutScreen();
}
@Override
public void onCreatePreferences(Bundle bundle, String s) {
addPreferencesFromResource(R.xml.preferences);
findPreference(PREF_ABOUT).setOnPreferenceClickListener(this);
}
@Override
public boolean onPreferenceClick(Preference preference) {
if(preference.getKey().equals(PREF_ABOUT)) {
mCallbacks.showAboutScreen();
return true;
}
return false;
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
mCallbacks = (PreferenceCallbacks) activity;
}
@Override
public void onDetach() {
super.onDetach();
mCallbacks = null;
}
}