Conversations/src/main/java/eu/siacs/conversations/ui/AboutPreference.java

42 lines
1.2 KiB
Java

package eu.siacs.conversations.ui;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.preference.Preference;
import android.util.AttributeSet;
public class AboutPreference extends Preference {
public AboutPreference(final Context context, final AttributeSet attrs, final int defStyle) {
super(context, attrs, defStyle);
setSummary();
}
public AboutPreference(final Context context, final AttributeSet attrs) {
super(context, attrs);
setSummary();
}
@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) {
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/
}
}
}
}