blob: 046ee6f0991475977859bd025f46e9f65b4e55f5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
package org.fox.ttrss;
import android.app.Activity;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.preference.PreferenceFragment;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Locale;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
public class PreferencesFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Load the preferences from an XML resource
addPreferencesFromResource(R.xml.preferences);
}
public void onResume() {
super.onResume();
String version = "?";
int versionCode = -1;
String buildTimestamp = "N/A";
try {
Activity activity = getActivity();
PackageInfo packageInfo = activity.getPackageManager().
getPackageInfo(activity.getPackageName(), 0);
version = packageInfo.versionName;
versionCode = packageInfo.versionCode;
ApplicationInfo appInfo = activity.getPackageManager().
getApplicationInfo(activity.getPackageName(), 0);
ZipFile zf = new ZipFile(appInfo.sourceDir);
ZipEntry ze = zf.getEntry("classes.dex");
long time = ze.getTime();
buildTimestamp = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss",
Locale.getDefault()).format(time);
findPreference("version").setSummary(getString(R.string.prefs_version, version, versionCode));
findPreference("build_timestamp").setSummary(getString(R.string.prefs_build_timestamp, buildTimestamp));
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
|