Add support for changelog links
This commit is contained in:
parent
a653b0156a
commit
f0c00c144c
@ -153,6 +153,18 @@ Changelog" />
|
||||
android:text="@string/menu_issues"
|
||||
tools:text="@string/menu_issues" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/changelog"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:drawableLeft="@drawable/ic_issues"
|
||||
android:drawablePadding="4dp"
|
||||
android:drawableStart="@drawable/ic_issues"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingTop="4dp"
|
||||
android:text="@string/menu_changelog"
|
||||
tools:text="@string/menu_changelog" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/website"
|
||||
android:layout_width="wrap_content"
|
||||
|
@ -124,6 +124,7 @@
|
||||
<string name="menu_ignore_this">Ignore This Update</string>
|
||||
<string name="menu_website">Website</string>
|
||||
<string name="menu_issues">Issues</string>
|
||||
<string name="menu_changelog">Changelog</string>
|
||||
<string name="menu_source">Source Code</string>
|
||||
<string name="menu_upgrade">Upgrade</string>
|
||||
<string name="menu_donate">Donate</string>
|
||||
|
@ -1206,6 +1206,13 @@ public class AppDetails extends ActionBarActivity implements ProgressListener, A
|
||||
else
|
||||
tv.setVisibility(View.GONE);
|
||||
|
||||
// Changelog button
|
||||
tv = (TextView) view.findViewById(R.id.changelog);
|
||||
if (getApp().changelogURL != null)
|
||||
tv.setOnClickListener(mOnClickListener);
|
||||
else
|
||||
tv.setVisibility(View.GONE);
|
||||
|
||||
// Donate button
|
||||
tv = (TextView) view.findViewById(R.id.donate);
|
||||
if (getApp().donateURL != null)
|
||||
@ -1314,6 +1321,10 @@ public class AppDetails extends ActionBarActivity implements ProgressListener, A
|
||||
((AppDetails) getActivity()).tryOpenUri(getApp().trackerURL);
|
||||
break;
|
||||
|
||||
case R.id.changelog:
|
||||
((AppDetails) getActivity()).tryOpenUri(getApp().changelogURL);
|
||||
break;
|
||||
|
||||
case R.id.donate:
|
||||
((AppDetails) getActivity()).tryOpenUri(getApp().donateURL);
|
||||
break;
|
||||
|
@ -189,6 +189,9 @@ public class RepoXMLHandler extends DefaultHandler {
|
||||
case "source":
|
||||
curapp.sourceURL = str;
|
||||
break;
|
||||
case "changelog":
|
||||
curapp.changelogURL = str;
|
||||
break;
|
||||
case "donate":
|
||||
curapp.donateURL = str;
|
||||
break;
|
||||
|
@ -46,6 +46,8 @@ public class App extends ValueObject implements Comparable<App> {
|
||||
|
||||
public String sourceURL;
|
||||
|
||||
public String changelogURL;
|
||||
|
||||
public String donateURL;
|
||||
|
||||
public String bitcoinAddr;
|
||||
@ -140,6 +142,9 @@ public class App extends ValueObject implements Comparable<App> {
|
||||
case AppProvider.DataColumns.SOURCE_URL:
|
||||
sourceURL = cursor.getString(i);
|
||||
break;
|
||||
case AppProvider.DataColumns.CHANGELOG_URL:
|
||||
changelogURL = cursor.getString(i);
|
||||
break;
|
||||
case AppProvider.DataColumns.DONATE_URL:
|
||||
donateURL = cursor.getString(i);
|
||||
break;
|
||||
@ -355,6 +360,7 @@ public class App extends ValueObject implements Comparable<App> {
|
||||
values.put(AppProvider.DataColumns.WEB_URL, webURL);
|
||||
values.put(AppProvider.DataColumns.TRACKER_URL, trackerURL);
|
||||
values.put(AppProvider.DataColumns.SOURCE_URL, sourceURL);
|
||||
values.put(AppProvider.DataColumns.CHANGELOG_URL, changelogURL);
|
||||
values.put(AppProvider.DataColumns.DONATE_URL, donateURL);
|
||||
values.put(AppProvider.DataColumns.BITCOIN_ADDR, bitcoinAddr);
|
||||
values.put(AppProvider.DataColumns.LITECOIN_ADDR, litecoinAddr);
|
||||
|
@ -166,6 +166,7 @@ public class AppProvider extends FDroidProvider {
|
||||
String WEB_URL = "webURL";
|
||||
String TRACKER_URL = "trackerURL";
|
||||
String SOURCE_URL = "sourceURL";
|
||||
String CHANGELOG_URL = "changelogURL";
|
||||
String DONATE_URL = "donateURL";
|
||||
String BITCOIN_ADDR = "bitcoinAddr";
|
||||
String LITECOIN_ADDR = "litecoinAddr";
|
||||
@ -194,7 +195,7 @@ public class AppProvider extends FDroidProvider {
|
||||
|
||||
String[] ALL = {
|
||||
IS_COMPATIBLE, APP_ID, NAME, SUMMARY, ICON, DESCRIPTION,
|
||||
LICENSE, WEB_URL, TRACKER_URL, SOURCE_URL, DONATE_URL,
|
||||
LICENSE, WEB_URL, TRACKER_URL, SOURCE_URL, CHANGELOG_URL, DONATE_URL,
|
||||
BITCOIN_ADDR, LITECOIN_ADDR, DOGECOIN_ADDR, FLATTR_ID,
|
||||
UPSTREAM_VERSION, UPSTREAM_VERSION_CODE, ADDED, LAST_UPDATED,
|
||||
CATEGORIES, ANTI_FEATURES, REQUIREMENTS, IGNORE_ALLUPDATES,
|
||||
|
@ -71,6 +71,7 @@ public class DBHelper extends SQLiteOpenHelper {
|
||||
+ "webURL text, "
|
||||
+ "trackerURL text, "
|
||||
+ "sourceURL text, "
|
||||
+ "changelogURL text, "
|
||||
+ "suggestedVercode text,"
|
||||
+ "upstreamVersion text,"
|
||||
+ "upstreamVercode integer,"
|
||||
@ -99,7 +100,7 @@ public class DBHelper extends SQLiteOpenHelper {
|
||||
+ InstalledAppProvider.DataColumns.APPLICATION_LABEL + " TEXT NOT NULL "
|
||||
+ " );";
|
||||
|
||||
private static final int DB_VERSION = 47;
|
||||
private static final int DB_VERSION = 48;
|
||||
|
||||
private final Context context;
|
||||
|
||||
@ -251,7 +252,7 @@ public class DBHelper extends SQLiteOpenHelper {
|
||||
values.put(RepoProvider.DataColumns.VERSION, version);
|
||||
values.put(RepoProvider.DataColumns.IN_USE, inUse);
|
||||
values.put(RepoProvider.DataColumns.PRIORITY, priority);
|
||||
values.put(RepoProvider.DataColumns.LAST_ETAG, (String)null);
|
||||
values.put(RepoProvider.DataColumns.LAST_ETAG, (String) null);
|
||||
|
||||
Log.i(TAG, "Adding repository " + name);
|
||||
db.insert(TABLE_REPO, null, values);
|
||||
@ -280,6 +281,7 @@ public class DBHelper extends SQLiteOpenHelper {
|
||||
if (oldVersion < 43) createInstalledApp(db);
|
||||
addAppLabelToInstalledCache(db, oldVersion);
|
||||
addIsSwapToRepo(db, oldVersion);
|
||||
addChangelogToRepo(db, oldVersion);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -414,6 +416,13 @@ public class DBHelper extends SQLiteOpenHelper {
|
||||
}
|
||||
}
|
||||
|
||||
private void addChangelogToRepo(SQLiteDatabase db, int oldVersion) {
|
||||
if (oldVersion < 48 && !columnExists(db, TABLE_APP, "changelogURL")) {
|
||||
Log.i(TAG, "Adding changelogURL column to " + TABLE_APP);
|
||||
db.execSQL("Alter table " + TABLE_APP + " add column changelogURL text");
|
||||
}
|
||||
}
|
||||
|
||||
private void resetTransient(SQLiteDatabase db, int oldVersion) {
|
||||
// Before version 42, only transient info was stored in here. As of some time
|
||||
// just before 42 (F-Droid 0.60ish) it now has "ignore this version" info which
|
||||
|
Loading…
x
Reference in New Issue
Block a user