1
0
mirror of https://github.com/moparisthebest/k-9 synced 2024-11-05 17:15:05 -05:00

Merge branch 'ckChangeLog_update'

Closes pull request #345
This commit is contained in:
cketti 2013-07-23 20:44:04 +02:00
commit a779e0e6f8
7 changed files with 116 additions and 110 deletions

View File

@ -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.

View File

@ -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>

View File

@ -1,2 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<changelog />

View File

@ -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>

View 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 />

View File

@ -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