This commit is contained in:
GAULUPEAU Jonathan 2013-08-08 14:38:47 +02:00
commit 674f916afa
32 changed files with 286 additions and 0 deletions

3
.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
.project
.settings
.classpath

25
AndroidManifest.xml Normal file
View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="fr.gaulupeau.apps.Poche"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="4"
android:targetSdkVersion="11" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name="fr.gaulupeau.apps.Poche.Poche"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
</activity>
</application>
</manifest>

25
bin/AndroidManifest.xml Normal file
View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="fr.gaulupeau.apps.Poche"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="4"
android:targetSdkVersion="11" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name="fr.gaulupeau.apps.Poche.Poche"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
</activity>
</application>
</manifest>

BIN
bin/Poche.apk Normal file

Binary file not shown.

BIN
bin/classes.dex Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 555 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 317 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 409 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 752 B

BIN
bin/resources.ap_ Normal file

Binary file not shown.

View File

@ -0,0 +1,6 @@
/** Automatically generated file. DO NOT MODIFY */
package fr.gaulupeau.apps.Poche;
public final class BuildConfig {
public final static boolean DEBUG = true;
}

View File

@ -0,0 +1,40 @@
/* AUTO-GENERATED FILE. DO NOT MODIFY.
*
* This class was automatically generated by the
* aapt tool from the resource data it found. It
* should not be modified by hand.
*/
package fr.gaulupeau.apps.Poche;
public final class R {
public static final class attr {
}
public static final class dimen {
public static final int toppadding=0x7f040000;
}
public static final class drawable {
public static final int icon=0x7f020000;
}
public static final class id {
public static final int author=0x7f060004;
public static final int btnDone=0x7f060005;
public static final int instructions=0x7f060003;
public static final int pageUrl_label=0x7f060001;
public static final int pocheUrl=0x7f060002;
public static final int scrollView1=0x7f060000;
}
public static final class layout {
public static final int main=0x7f030000;
}
public static final class string {
public static final int app_name=0x7f050001;
public static final int author=0x7f050002;
public static final int authorSite=0x7f050006;
public static final int btnDone=0x7f050004;
public static final int hello=0x7f050000;
public static final int instructions=0x7f050003;
public static final int url_label=0x7f050007;
public static final int which_browser=0x7f050005;
}
}

3
lint.xml Normal file
View File

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<lint>
</lint>

14
project.properties Normal file
View File

@ -0,0 +1,14 @@
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system edit
# "ant.properties", and override values to adapt the script to your
# project structure.
#
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
# Project target.
target=android-18

BIN
res/drawable-hdpi/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 592 B

BIN
res/drawable-ldpi/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 354 B

BIN
res/drawable-mdpi/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 445 B

BIN
res/drawable-xhdpi/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 788 B

50
res/layout/main.xml Normal file
View File

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollView1"
android:layout_height="wrap_content"
android:layout_width="fill_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="30sp"
android:paddingRight="30sp"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:textSize="34sp" />
<TextView
android:id="@+id/pageUrl_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/url_label"
android:textSize="20sp" />
<EditText
android:id="@+id/pocheUrl"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text"
android:linksClickable="false"
android:maxLines="1"
android:scrollHorizontally="false" >
<requestFocus />
</EditText>
<TextView android:id="@+id/instructions" android:layout_width="wrap_content" android:text="@string/instructions" android:layout_height="wrap_content" android:layout_marginTop="@dimen/toppadding" android:textSize="25sp" android:paddingTop="5sp" android:paddingBottom="30sp"></TextView>
<TextView
android:id="@+id/author"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/author" />
<Button android:layout_width="wrap_content" android:id="@+id/btnDone" android:layout_height="wrap_content" android:text="@string/btnDone"></Button>
</LinearLayout>
</ScrollView>

4
res/values/dimens.xml Normal file
View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="toppadding">10px</dimen>
</resources>

11
res/values/strings.xml Normal file
View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Welcome to Android2Poche !</string>
<string name="app_name">Android2Poche</string>
<string name="author">By GAULUPEAU Jonathan</string>
<string name="instructions">To save a web page to Poche, open the page in a browser then tap <i>Share</i> and tap on <i>Android to Poche</i>. You should then see a save window. When you have finished the browser will return to the original location.</string>
<string name="btnDone">Done</string>
<string name="which_browser">Which browser would you like to use?</string>
<string name="authorSite">http://links.gaulupeau.fr</string>
<string name="url_label">Your Poche URL :</string>
</resources>

View File

@ -0,0 +1,105 @@
/**
* Android to Poche
* A simple app to make the full save bookmark to Poche
* web page available via the Share menu on Android tablets
* @author GAULUPEAU Jonathan
* August 2013
*/
package fr.gaulupeau.apps.Poche;
import java.io.UnsupportedEncodingException;
import android.annotation.TargetApi;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.util.Base64;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
/**
* Main activity class
*/
@TargetApi(Build.VERSION_CODES.FROYO) public class Poche extends Activity {
TextView authorSite; // the author and site line on the information page
Button btnDone; // done/close button
EditText editPocheUrl;
public static final String PREFS_NAME = "MyPrefsFile";
/** Called when the activity is first created.
* Will act differently depending on whether sharing or
* displaying information page. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Get information about the call to start this activity
Intent intent = getIntent();
Bundle extras = intent.getExtras();
String action = intent.getAction();
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
String pocheUrl = settings.getString("pocheUrl", "");
// Find out if Sharing or if app has been launched from icon
if (action.equals(Intent.ACTION_SEND)) {
// ACTION_SEND is called when sharing, get the title and URL from
// the call
String pageUrl = extras.getString("android.intent.extra.TEXT");
String pageTitle = extras.getString("android.intent.extra.SUBJECT");
// Some apps do not provide the page title, so in this case use the URL again
if (pageTitle == null) {
pageTitle = pageUrl;
}
// Start to build the Delicious URL
Uri.Builder deliciousSaveUrl = Uri.parse(pocheUrl).buildUpon();
// Add the parameters from the call
deliciousSaveUrl.appendQueryParameter("action", "add");
byte[] data = null;
try {
data = pageUrl.getBytes("UTF-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String base64 = Base64.encodeToString(data, Base64.DEFAULT);
deliciousSaveUrl.appendQueryParameter("url", base64);
//System.out.println("base64 : " + base64);
//System.out.println("pageurl : " + pageUrl);
// Load the constructed URL in the browser
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(deliciousSaveUrl.build());
// If user has more then one browser installed give them a chance to
// select which one they want to use
startActivity(Intent.createChooser(i, getString(R.string.which_browser)));
// That is all this app needs to do, so call finish()
this.finish();
}
else {
// app has been launched from menu - show information window
setContentView(R.layout.main);
// handle done/close button
editPocheUrl = (EditText)findViewById(R.id.pocheUrl);
editPocheUrl.setText(pocheUrl);
btnDone = (Button)findViewById(R.id.btnDone);
btnDone.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// close the app
System.out.println(editPocheUrl.getText().toString());
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putString("pocheUrl", editPocheUrl.getText().toString());
editor.commit();
Poche.this.finish();
}
});
}
}
}