├── assets ├── application.js ├── color.css ├── default.css ├── about_ja.html └── about.html ├── .gitignore ├── res ├── drawable │ ├── icon.png │ ├── none.png │ └── pin.png ├── layout │ ├── main_menu.xml │ ├── hardkey_setting.xml │ ├── main.xml │ └── setting.xml ├── values-ja │ └── strings.xml └── values │ └── strings.xml ├── src └── jp │ └── mitukiii │ └── tumblife │ ├── model │ ├── TLModel.java │ ├── TLUser.java │ ├── TLTumblelog.java │ ├── TLSetting.java │ └── TLPost.java │ ├── ui │ ├── TLWebViewClientDelegate.java │ └── TLWebViewClient.java │ ├── App.java │ ├── exeption │ ├── TLFailureException.java │ ├── TLParserException.java │ ├── TLSDCardNotFoundException.java │ └── TLAuthenticationFailureException.java │ ├── parser │ ├── TLParser.java │ ├── TLUserParser.java │ └── TLPostParser.java │ ├── tumblr │ ├── TLDashboardDelegate.java │ ├── TLDashboardInterface.java │ └── TLDashboard.java │ ├── util │ ├── TLLog.java │ ├── TLBrowser.java │ ├── TLConnection.java │ ├── TLPostFactory.java │ └── TLExplorer.java │ ├── KeyCodeMap.java │ ├── Setting.java │ ├── HardkeySetting.java │ └── Main.java ├── .settings └── org.eclipse.core.resources.prefs ├── .classpath ├── README ├── project.properties ├── .project ├── AndroidManifest.xml └── gen └── jp └── mitukiii └── tumblife └── R.java /assets/application.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | bin/ 3 | -------------------------------------------------------------------------------- /res/drawable/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rummelonp/TumblifeForAndroid/HEAD/res/drawable/icon.png -------------------------------------------------------------------------------- /res/drawable/none.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rummelonp/TumblifeForAndroid/HEAD/res/drawable/none.png -------------------------------------------------------------------------------- /res/drawable/pin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rummelonp/TumblifeForAndroid/HEAD/res/drawable/pin.png -------------------------------------------------------------------------------- /src/jp/mitukiii/tumblife/model/TLModel.java: -------------------------------------------------------------------------------- 1 | package jp.mitukiii.tumblife.model; 2 | 3 | public class TLModel 4 | { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | #Sat Sep 18 19:10:32 JST 2010 2 | eclipse.preferences.version=1 3 | encoding/=UTF-8 4 | -------------------------------------------------------------------------------- /src/jp/mitukiii/tumblife/ui/TLWebViewClientDelegate.java: -------------------------------------------------------------------------------- 1 | package jp.mitukiii.tumblife.ui; 2 | 3 | public interface TLWebViewClientDelegate 4 | { 5 | public void startActivityFailure(); 6 | } 7 | -------------------------------------------------------------------------------- /src/jp/mitukiii/tumblife/App.java: -------------------------------------------------------------------------------- 1 | package jp.mitukiii.tumblife; 2 | 3 | import android.app.Application; 4 | 5 | public class App extends Application 6 | { 7 | public static boolean isClearCached = false; 8 | } 9 | -------------------------------------------------------------------------------- /.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | == Tumblife for Android 2 | 3 | The Tumblr Client for Android Made by Java 4 | 5 | == License 6 | 7 | Copyright (C) 2010 Kazuya Takeshima 8 | 9 | Released under the GNU General Public License v3: http://www.gnu.org/licenses/gpl.html 10 | 11 | If you'd like to use it under a different license please contact mail@tumblife.com 12 | -------------------------------------------------------------------------------- /src/jp/mitukiii/tumblife/exeption/TLFailureException.java: -------------------------------------------------------------------------------- 1 | package jp.mitukiii.tumblife.exeption; 2 | 3 | import java.io.IOException; 4 | 5 | public class TLFailureException extends IOException 6 | { 7 | private static final long serialVersionUID = 820045226246174242L; 8 | 9 | public TLFailureException() {} 10 | 11 | public TLFailureException(String message) 12 | { 13 | super(message); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /assets/color.css: -------------------------------------------------------------------------------- 1 | /* Default color style */ 2 | 3 | body { 4 | background: #eceff1; 5 | color: #000; 6 | } 7 | 8 | img { 9 | background: #fff; 10 | border: solid 1px #666; 11 | } 12 | 13 | /* Black color style */ 14 | 15 | /* 16 | 17 | body { 18 | background: #222; 19 | color: #eee; 20 | } 21 | 22 | a { 23 | color: #eee; 24 | } 25 | 26 | img { 27 | background: #222; 28 | border: solid 1px #aaa; 29 | } 30 | 31 | */ -------------------------------------------------------------------------------- /src/jp/mitukiii/tumblife/exeption/TLParserException.java: -------------------------------------------------------------------------------- 1 | package jp.mitukiii.tumblife.exeption; 2 | 3 | public class TLParserException extends TLFailureException 4 | { 5 | private static final long serialVersionUID = -5127186827932785079L; 6 | 7 | public TLParserException() 8 | { 9 | super("Parsing failed."); 10 | } 11 | 12 | public TLParserException(String message) 13 | { 14 | super(message); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/jp/mitukiii/tumblife/exeption/TLSDCardNotFoundException.java: -------------------------------------------------------------------------------- 1 | package jp.mitukiii.tumblife.exeption; 2 | 3 | public class TLSDCardNotFoundException extends TLFailureException 4 | { 5 | private static final long serialVersionUID = 7263100142532892304L; 6 | 7 | public TLSDCardNotFoundException() 8 | { 9 | super("SDCard not found."); 10 | } 11 | 12 | public TLSDCardNotFoundException(String message) 13 | { 14 | super(message); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/jp/mitukiii/tumblife/exeption/TLAuthenticationFailureException.java: -------------------------------------------------------------------------------- 1 | package jp.mitukiii.tumblife.exeption; 2 | 3 | public class TLAuthenticationFailureException extends TLFailureException 4 | { 5 | private static final long serialVersionUID = -2760519504496168047L; 6 | 7 | public TLAuthenticationFailureException() 8 | { 9 | super("Authentication failed."); 10 | } 11 | 12 | public TLAuthenticationFailureException(String message) 13 | { 14 | super(message); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /project.properties: -------------------------------------------------------------------------------- 1 | # This file is automatically generated by Android Tools. 2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! 3 | # 4 | # This file must be checked in Version Control Systems. 5 | # 6 | # To customize properties used by the Ant build system use, 7 | # "ant.properties", and override values to adapt the script to your 8 | # project structure. 9 | 10 | # Indicates whether an apk should be generated for each density. 11 | split.density=false 12 | # Project target. 13 | target=android-4 14 | -------------------------------------------------------------------------------- /src/jp/mitukiii/tumblife/parser/TLParser.java: -------------------------------------------------------------------------------- 1 | package jp.mitukiii.tumblife.parser; 2 | 3 | import java.io.InputStream; 4 | import org.xmlpull.v1.XmlPullParser; 5 | import org.xmlpull.v1.XmlPullParserException; 6 | import org.xmlpull.v1.XmlPullParserFactory; 7 | 8 | abstract public class TLParser 9 | { 10 | protected XmlPullParser parser; 11 | 12 | public static final String NAME_SPACE = null; 13 | 14 | public TLParser(InputStream input) 15 | throws XmlPullParserException 16 | { 17 | XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); 18 | factory.setValidating(false); 19 | parser = factory.newPullParser(); 20 | parser.setInput(input, null); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | Tumblife 4 | 5 | 6 | 7 | 8 | 9 | com.android.ide.eclipse.adt.ResourceManagerBuilder 10 | 11 | 12 | 13 | 14 | com.android.ide.eclipse.adt.PreCompilerBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.jdt.core.javabuilder 20 | 21 | 22 | 23 | 24 | com.android.ide.eclipse.adt.ApkBuilder 25 | 26 | 27 | 28 | 29 | 30 | com.android.ide.eclipse.adt.AndroidNature 31 | org.eclipse.jdt.core.javanature 32 | 33 | 34 | -------------------------------------------------------------------------------- /res/layout/main_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 8 | 12 | 16 | 20 | 24 | -------------------------------------------------------------------------------- /res/layout/hardkey_setting.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 8 | 12 | 16 | 20 | 24 | 28 | -------------------------------------------------------------------------------- /AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 13 | 14 | 15 | 16 | 17 | 18 | 20 | 21 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/jp/mitukiii/tumblife/tumblr/TLDashboardDelegate.java: -------------------------------------------------------------------------------- 1 | package jp.mitukiii.tumblife.tumblr; 2 | 3 | import jp.mitukiii.tumblife.model.TLPost; 4 | 5 | public interface TLDashboardDelegate 6 | { 7 | public void deserializeSuccess(TLDashboard deserializedDaashboard); 8 | 9 | public void deserializeFailure(); 10 | 11 | public void noInternet(); 12 | 13 | public void noAccount(); 14 | 15 | public void noSDCard(); 16 | 17 | public void loginSuccess(); 18 | 19 | public void loginFailure(); 20 | 21 | public void loading(); 22 | 23 | public void loadSuccess(); 24 | 25 | public void loadAllSuccess(); 26 | 27 | public void loadFailure(Throwable e); 28 | 29 | public void loadError(); 30 | 31 | public void likeSuccess(); 32 | 33 | public void likeFailure(); 34 | 35 | public void likeMinePost(); 36 | 37 | public void likeAllSuccess(); 38 | 39 | public void likeAllFailure(); 40 | 41 | public void reblogSuccess(); 42 | 43 | public void reblogFailure(); 44 | 45 | public void reblogAllSuccess(); 46 | 47 | public void reblogAllFailure(); 48 | 49 | public void writeSuccess(); 50 | 51 | public void writeFailure(); 52 | 53 | public void showNewPosts(String text); 54 | 55 | public void showLastPost(TLPost post); 56 | } 57 | -------------------------------------------------------------------------------- /assets/default.css: -------------------------------------------------------------------------------- 1 | /* Default style */ 2 | 3 | body { 4 | margin: 0; 5 | padding: 0; 6 | } 7 | 8 | #post { 9 | padding: 5px 3% 3%; 10 | } 11 | 12 | #meta { 13 | line-height: 2; 14 | position: relative; 15 | } 16 | 17 | #meta h2 { 18 | margin: 0; 19 | font-size: 90%; 20 | } 21 | 22 | #meta #tumblelog { 23 | margin-right: 80px; 24 | } 25 | 26 | #note-count { 27 | position: absolute; 28 | right: 2px; 29 | top: 0 30 | } 31 | 32 | #content h1 { 33 | margin: 0; 34 | font-size: 98%; 35 | } 36 | 37 | img { 38 | max-width: 98%; 39 | padding: 2%; 40 | } 41 | 42 | body :first-child, 43 | p:first-child, 44 | ul:first-child, 45 | ol:first-child { 46 | margin-top: 0; 47 | } 48 | 49 | body :last-child, 50 | p:last-child, 51 | ul:last-child, 52 | ol:last-child { 53 | margin-bottom: 0; 54 | } 55 | 56 | blockquote { 57 | border-left: 4px solid #a8bccf; 58 | margin: 0; 59 | padding: 0 2px 0 10px; 60 | } 61 | 62 | blockquote p { 63 | margin: 0; 64 | padding: 0 0 4px; 65 | } 66 | 67 | blockquote blockquote { 68 | border-color: #839aaf; 69 | } 70 | 71 | blockquote blockquote blockquote { 72 | border-color: #6b7d8f; 73 | } 74 | 75 | blockquote blockquote blockquote blockquote { 76 | border-color: #4c5e6f; 77 | } 78 | 79 | blockquote blockquote blockquote blockquote blockquote { 80 | border-color: #36434f; 81 | } 82 | -------------------------------------------------------------------------------- /assets/about_ja.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 25 | 26 | 27 |
28 |
29 | Android用のTumblrクライアント。
30 | LikeとReblog専用です。 31 |
32 |
連絡先:
33 |
mail@tumblife.com
34 |
@tumblife
35 |
公式サイト:
36 |
http://tumblife.com/
37 |
ライセンス:
38 |
GNU General Public License v3
39 |
ソースコード:
40 |
Github
41 |
クレジット:
42 |
Copyright (C) 2010 Kazuya Takeshima
43 |
44 | Many thanks to beta tester users and the tumblr community. 45 |
46 |
47 | 48 | 49 | -------------------------------------------------------------------------------- /assets/about.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 25 | 26 | 27 |
28 |
29 | Tumblr client for Andloid.
30 | Like and Reblog only. 31 |
32 |
Contact:
33 |
mail@tumblife.com
34 |
@tumblife
35 |
Web Site:
36 |
http://tumblife.com/
37 |
License:
38 |
GNU General Public License v3
39 |
Sources:
40 |
Github
41 |
Credits:
42 |
Copyright (C) 2010 Kazuya Takeshima
43 |
44 | Many thanks to beta tester users and the tumblr community. 45 |
46 |
47 | 48 | 49 | -------------------------------------------------------------------------------- /src/jp/mitukiii/tumblife/util/TLLog.java: -------------------------------------------------------------------------------- 1 | package jp.mitukiii.tumblife.util; 2 | 3 | import jp.mitukiii.tumblife.Main; 4 | import android.util.Log; 5 | 6 | public class TLLog 7 | { 8 | public static final boolean IS_DEBUG = false; 9 | 10 | public static int e(String msg) 11 | { 12 | return Log.e(Main.APP_NAME, msg); 13 | } 14 | 15 | public static int e(String msg, Throwable tr) 16 | { 17 | return Log.e(Main.APP_NAME, msg, tr); 18 | } 19 | 20 | public static int w(String msg) 21 | { 22 | return Log.w(Main.APP_NAME, msg); 23 | } 24 | 25 | public static int w(String msg, Throwable tr) 26 | { 27 | return Log.w(Main.APP_NAME, msg, tr); 28 | } 29 | 30 | public static int i(String msg) 31 | { 32 | return Log.i(Main.APP_NAME, msg); 33 | } 34 | 35 | public static int i(String msg, Throwable tr) 36 | { 37 | return Log.i(Main.APP_NAME, msg, tr); 38 | } 39 | 40 | public static int d(String msg) 41 | { 42 | if (IS_DEBUG) { 43 | return Log.d(Main.APP_NAME, msg); 44 | } else { 45 | return Log.DEBUG; 46 | } 47 | } 48 | 49 | public static int d(String msg, Throwable tr) 50 | { 51 | if (IS_DEBUG) { 52 | return Log.d(Main.APP_NAME, msg, tr); 53 | } else { 54 | return Log.DEBUG; 55 | } 56 | } 57 | 58 | public static int v(String msg) 59 | { 60 | if (IS_DEBUG) { 61 | return Log.v(Main.APP_NAME, msg); 62 | } else { 63 | return Log.VERBOSE; 64 | } 65 | } 66 | 67 | public static int v(String msg, Throwable tr) 68 | { 69 | if (IS_DEBUG) { 70 | return Log.v(Main.APP_NAME, msg, tr); 71 | } else { 72 | return Log.VERBOSE; 73 | } 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /src/jp/mitukiii/tumblife/tumblr/TLDashboardInterface.java: -------------------------------------------------------------------------------- 1 | package jp.mitukiii.tumblife.tumblr; 2 | 3 | import java.util.HashMap; 4 | import android.content.Context; 5 | import android.os.Handler; 6 | import jp.mitukiii.tumblife.model.TLPost; 7 | import jp.mitukiii.tumblife.model.TLTumblelog; 8 | 9 | public interface TLDashboardInterface 10 | { 11 | public void init(TLDashboardDelegate delegate, Context context, Handler handler); 12 | 13 | public void reinit(TLDashboardDelegate delegate, Context context, Handler handler); 14 | 15 | public void start(); 16 | 17 | public void deserialize(); 18 | 19 | public void serialize(); 20 | 21 | public String getTitle(); 22 | 23 | public TLTumblelog getTumblelog(); 24 | 25 | public TLPost postCurrent(); 26 | 27 | public TLPost postCurrent(boolean showLastPost); 28 | 29 | public TLPost postNext(); 30 | 31 | public TLPost postBack(); 32 | 33 | public TLPost postPin(TLPost post); 34 | 35 | public TLPost moveTo(int which); 36 | 37 | public int getPinPostsCount(); 38 | 39 | public boolean hasPinPosts(); 40 | 41 | public boolean isPinPost(TLPost post); 42 | 43 | public void addQueues(); 44 | 45 | public void like(TLPost post); 46 | 47 | public void likeAll(Handler progressHandler); 48 | 49 | public void reblog(TLPost post, String comment); 50 | 51 | public void reblogAll(Handler progressHandler); 52 | 53 | public void writeRegular(String text, String body, HashMap options); 54 | 55 | public void stop(); 56 | 57 | public void restart(); 58 | 59 | public void destroy(); 60 | 61 | public void deleteFiles(); 62 | 63 | public boolean isPrepared(); 64 | 65 | public boolean isLogged(); 66 | 67 | public boolean isRunned(); 68 | 69 | public boolean isStopped(); 70 | 71 | public boolean isDestroyed(); 72 | } 73 | -------------------------------------------------------------------------------- /res/layout/main.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 12 | 17 |