Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a779e0e6 authored by cketti's avatar cketti
Browse files

Merge branch 'ckChangeLog_update'

Closes pull request #345
parents c8e15dc6 2673b072
Loading
Loading
Loading
Loading
+85 −74
Original line number Diff line number Diff line
# 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)
![Screenshot](screenshot_1.png)
![Screenshot](screenshot_2.png)

This library provides an easy way to display a change log in your app.

@@ -15,8 +15,9 @@ Repository at <https://github.com/cketti/ckChangeLog>.

## Usage

1. Create the master change log in `res/raw/changelog.xml`. Formatted like this:
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" >
@@ -30,19 +31,26 @@ Repository at <https://github.com/cketti/ckChangeLog>.
          <change>First release</change>
      </release>
  </changelog>
  ```

2. Create translations of this file under language-specific versions of `res/xml`, e.g. `res/xml-de`.
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

@@ -54,6 +62,9 @@ This library is based on:
* [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!


+12 −12
Original line number Diff line number Diff line
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="de.cketti.library.changelog"
    android:versionCode="1"
    android:versionName="0.1" >
    android:versionCode="2"
    android:versionName="1.0.0" >

    <uses-sdk
        android:minSdkVersion="7"
+0 −2
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<changelog />
 No newline at end of file
+6 −0
Original line number Diff line number Diff line
<?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 />
 No newline at end of file
+5 −14
Original line number Diff line number Diff line
@@ -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;
            xml.close();
        }

        // Read localized change log from xml[-lang]/changelog.xml
Loading