conversations-classic/src/main/java/eu/siacs/conversations/ui/AboutPreference.java

42 lines
1.2 KiB
Java
Raw Normal View History

2014-10-22 02:53:30 +00:00
package eu.siacs.conversations.ui;
import android.content.Context;
2014-11-04 17:08:30 +00:00
import android.content.Intent;
2014-10-22 02:53:30 +00:00
import android.content.pm.PackageManager;
2014-11-04 17:08:30 +00:00
import android.preference.Preference;
2014-10-22 02:53:30 +00:00
import android.util.AttributeSet;
2014-11-04 17:08:30 +00:00
public class AboutPreference extends Preference {
public AboutPreference(final Context context, final AttributeSet attrs, final int defStyle) {
2014-10-22 02:53:30 +00:00
super(context, attrs, defStyle);
setSummary();
}
2014-11-04 17:08:30 +00:00
public AboutPreference(final Context context, final AttributeSet attrs) {
2014-10-22 02:53:30 +00:00
super(context, attrs);
setSummary();
}
2014-11-04 17:08:30 +00:00
@Override
protected void onClick() {
super.onClick();
final Intent intent = new Intent(getContext(), AboutActivity.class);
getContext().startActivity(intent);
}
private void setSummary() {
if (getContext() != null && getContext().getPackageManager() != null) {
2014-10-22 02:53:30 +00:00
final String packageName = getContext().getPackageName();
final String versionName;
try {
versionName = getContext().getPackageManager().getPackageInfo(packageName, 0).versionName;
setSummary("Conversations " + versionName);
} catch (final PackageManager.NameNotFoundException e) {
// Using try/catch as part of the logic is sort of like this:
// https://xkcd.com/292/
}
}
}
}