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