mirror of
https://github.com/moparisthebest/k-9
synced 2024-11-05 17:15:05 -05:00
commit
a779e0e6f8
@ -1,74 +1,85 @@
|
||||
# ckChangeLog - An Android Library to display a Change Log
|
||||
|
||||
![Screenshot](https://github.com/cketti/ckChangeLog/raw/master/screenshot_1.png)
|
||||
![Screenshot](https://github.com/cketti/ckChangeLog/raw/master/screenshot_2.png)
|
||||
|
||||
This library provides an easy way to display a change log in your app.
|
||||
|
||||
## Features
|
||||
|
||||
* Uses a simple XML file as source
|
||||
* Supports partial translations
|
||||
|
||||
Repository at <https://github.com/cketti/ckChangeLog>.
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
1. Create the master change log in `res/raw/changelog.xml`. Formatted like this:
|
||||
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<changelog>
|
||||
<release version="1.1" versioncode="11" >
|
||||
<change>Totally new and shiny version</change>
|
||||
</release>
|
||||
<release version="1.0" versioncode="10" >
|
||||
<change>Fixed: A bug fix</change>
|
||||
<change>Some other changes I can't quite remember</change>
|
||||
</release>
|
||||
<release version="0.1" versioncode="1">
|
||||
<change>First release</change>
|
||||
</release>
|
||||
</changelog>
|
||||
|
||||
2. Create translations of this file under language-specific versions of `res/xml`, e.g. `res/xml-de`.
|
||||
|
||||
3. Display the change log dialog by putting the following code in your activity's `onCreate()` method:
|
||||
|
||||
ChangeLog cl = new ChangeLog(this);
|
||||
if (cl.isFirstRun()) {
|
||||
cl.getLogDialog().show();
|
||||
}
|
||||
|
||||
|
||||
## Changelog
|
||||
|
||||
### Version 0.1
|
||||
* Initial release
|
||||
|
||||
|
||||
## Acknowledgments
|
||||
|
||||
This library is based on:
|
||||
* [android-change-log](http://code.google.com/p/android-change-log/) by Karsten Priegnitz
|
||||
* [Inscription](https://github.com/MartinvanZ/Inscription/) by [Martin van Zuilekom](https://github.com/MartinvanZ/)
|
||||
|
||||
Other contributors:
|
||||
* You? Pull requests welcome!
|
||||
|
||||
|
||||
## License
|
||||
|
||||
Copyright (C) 2012 Christian Ketterer (cketti)
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
# ckChangeLog - An Android Library to display a Change Log
|
||||
|
||||
![Screenshot](screenshot_1.png)
|
||||
![Screenshot](screenshot_2.png)
|
||||
|
||||
This library provides an easy way to display a change log in your app.
|
||||
|
||||
## Features
|
||||
|
||||
* Uses a simple XML file as source
|
||||
* Supports partial translations
|
||||
|
||||
Repository at <https://github.com/cketti/ckChangeLog>.
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
1. Create the master change log in `res/xml/changelog_master.xml`. Formatted like this:
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<changelog>
|
||||
<release version="1.1" versioncode="11" >
|
||||
<change>Totally new and shiny version</change>
|
||||
</release>
|
||||
<release version="1.0" versioncode="10" >
|
||||
<change>Fixed: A bug fix</change>
|
||||
<change>Some other changes I can't quite remember</change>
|
||||
</release>
|
||||
<release version="0.1" versioncode="1">
|
||||
<change>First release</change>
|
||||
</release>
|
||||
</changelog>
|
||||
```
|
||||
|
||||
2. Create translations of this `changelog_master.xml` file in files named `changelog.xml` under
|
||||
language-specific versions of `res/xml/`, e.g. `res/xml-de/changelog.xml`.
|
||||
|
||||
3. Display the change log dialog by putting the following code in your activity's `onCreate()` method:
|
||||
|
||||
```java
|
||||
ChangeLog cl = new ChangeLog(this);
|
||||
if (cl.isFirstRun()) {
|
||||
cl.getLogDialog().show();
|
||||
}
|
||||
```
|
||||
|
||||
## Changelog
|
||||
|
||||
### Version 1.0.0
|
||||
* **Breaking change!** Moved master translation from `res/raw/changelog.xml` to `res/xml/changelog_master.xml`
|
||||
* Added German translation of the sample app
|
||||
|
||||
### Version 0.1
|
||||
* Initial release
|
||||
|
||||
|
||||
## Acknowledgments
|
||||
|
||||
This library is based on:
|
||||
* [android-change-log](http://code.google.com/p/android-change-log/) by Karsten Priegnitz
|
||||
* [Inscription](https://github.com/MartinvanZ/Inscription/) by [Martin van Zuilekom](https://github.com/MartinvanZ/)
|
||||
|
||||
Other contributors:
|
||||
* [Andrew Chen](https://github.com/andrewachen)
|
||||
* [Artur Dryomov](https://github.com/ming13)
|
||||
* [zjw](https://github.com/zjw)
|
||||
* You? Pull requests welcome!
|
||||
|
||||
|
||||
## License
|
||||
|
||||
Copyright (C) 2012 Christian Ketterer (cketti)
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
@ -1,12 +1,12 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="de.cketti.library.changelog"
|
||||
android:versionCode="1"
|
||||
android:versionName="0.1" >
|
||||
|
||||
<uses-sdk
|
||||
android:minSdkVersion="7"
|
||||
android:targetSdkVersion="17" />
|
||||
|
||||
<application/>
|
||||
|
||||
</manifest>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="de.cketti.library.changelog"
|
||||
android:versionCode="2"
|
||||
android:versionName="1.0.0" >
|
||||
|
||||
<uses-sdk
|
||||
android:minSdkVersion="7"
|
||||
android:targetSdkVersion="17" />
|
||||
|
||||
<application/>
|
||||
|
||||
</manifest>
|
||||
|
@ -1,2 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<changelog />
|
@ -1,9 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<string name="changelog_full_title">Change Log</string>
|
||||
<string name="changelog_title">What\'s New</string>
|
||||
<string name="changelog_ok_button">OK</string>
|
||||
<string name="changelog_show_full">More…</string>
|
||||
|
||||
<string name="changelog_version_format">Version <xliff:g id="version_name">%s</xliff:g></string>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<string name="changelog_full_title">Change Log</string>
|
||||
<string name="changelog_title">What\'s New</string>
|
||||
<string name="changelog_ok_button">OK</string>
|
||||
<string name="changelog_show_full">More…</string>
|
||||
|
||||
<string name="changelog_version_format">Version <xliff:g id="version_name">%s</xliff:g></string>
|
||||
</resources>
|
6
plugins/ckChangeLog/library/res/xml/changelog_master.xml
Normal file
6
plugins/ckChangeLog/library/res/xml/changelog_master.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
The master change log is kept in res/xml/changelog_master.xml.
|
||||
Locale specific versions are kept in res/xml-<locale qualifier>/changelog.xml.
|
||||
-->
|
||||
<changelog />
|
@ -33,14 +33,12 @@
|
||||
package de.cketti.library.changelog;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
import org.xmlpull.v1.XmlPullParserFactory;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.content.Context;
|
||||
@ -357,20 +355,13 @@ public class ChangeLog {
|
||||
|
||||
Resources resources = mContext.getResources();
|
||||
|
||||
// Read master change log from raw/changelog.xml
|
||||
// Read master change log from xml/changelog_master.xml
|
||||
XmlResourceParser xml = mContext.getResources().getXml(R.xml.changelog_master);
|
||||
SparseArray<ReleaseItem> defaultChangelog;
|
||||
try {
|
||||
XmlPullParser xml = XmlPullParserFactory.newInstance().newPullParser();
|
||||
InputStreamReader reader = new InputStreamReader(resources.openRawResource(R.raw.changelog));
|
||||
xml.setInput(reader);
|
||||
try {
|
||||
defaultChangelog = readChangeLog(xml, full);
|
||||
} finally {
|
||||
try { reader.close(); } catch (Exception e) { /* do nothing */ }
|
||||
}
|
||||
} catch (XmlPullParserException e) {
|
||||
Log.e(LOG_TAG, "Error reading raw/changelog.xml", e);
|
||||
return null;
|
||||
defaultChangelog = readChangeLog(xml, full);
|
||||
} finally {
|
||||
xml.close();
|
||||
}
|
||||
|
||||
// Read localized change log from xml[-lang]/changelog.xml
|
||||
|
Loading…
Reference in New Issue
Block a user