├── app ├── .gitignore ├── src │ └── main │ │ ├── ic_launcher-web.png │ │ ├── res │ │ ├── mipmap-hdpi │ │ │ ├── ic_egg.png │ │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ │ ├── ic_egg.png │ │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ │ ├── ic_egg.png │ │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_egg.png │ │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_egg.png │ │ │ └── ic_launcher.png │ │ ├── values │ │ │ ├── dimens.xml │ │ │ ├── styles.xml │ │ │ ├── strings.xml │ │ │ └── colors.xml │ │ ├── drawable │ │ │ ├── ic_add_white_24dp.xml │ │ │ └── ic_send_black_24dp.xml │ │ ├── menu │ │ │ └── post_list_menu.xml │ │ ├── layout │ │ │ ├── fragment_post_list.xml │ │ │ ├── activity_post_list.xml │ │ │ ├── fragment_url_check.xml │ │ │ ├── fragment_two_factor_auth.xml │ │ │ ├── activity_login.xml │ │ │ ├── fragment_email_password.xml │ │ │ ├── new_post.xml │ │ │ └── post_item.xml │ │ └── anim │ │ │ └── pressed_card.xml │ │ ├── java │ │ └── org │ │ │ └── wordpress │ │ │ └── pioupiou │ │ │ ├── misc │ │ │ ├── AppSecretsModule.java │ │ │ ├── PioupiouApp.java │ │ │ └── AppComponent.java │ │ │ ├── login │ │ │ ├── URLCheckFragment.java │ │ │ ├── EmailPasswordFragment.java │ │ │ ├── TwoFactorAuthFragment.java │ │ │ └── LoginActivity.java │ │ │ └── postlist │ │ │ ├── PostListFragment.java │ │ │ ├── PostRecyclerViewAdapter.java │ │ │ └── PostListActivity.java │ │ └── AndroidManifest.xml ├── gradle.properties-example ├── proguard-rules.pro └── build.gradle ├── settings.gradle ├── assets ├── launcher_icon.afdesign └── launcher_icon.svg ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .gitignore ├── gradle.properties ├── .travis.yml ├── README.md ├── gradlew.bat ├── gradlew └── config └── checkstyle.xml /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /assets/launcher_icon.afdesign: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wordpress-mobile/Pioupiou/trunk/assets/launcher_icon.afdesign -------------------------------------------------------------------------------- /app/src/main/ic_launcher-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wordpress-mobile/Pioupiou/trunk/app/src/main/ic_launcher-web.png -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wordpress-mobile/Pioupiou/trunk/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_egg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wordpress-mobile/Pioupiou/trunk/app/src/main/res/mipmap-hdpi/ic_egg.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_egg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wordpress-mobile/Pioupiou/trunk/app/src/main/res/mipmap-mdpi/ic_egg.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_egg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wordpress-mobile/Pioupiou/trunk/app/src/main/res/mipmap-xhdpi/ic_egg.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_egg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wordpress-mobile/Pioupiou/trunk/app/src/main/res/mipmap-xxhdpi/ic_egg.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_egg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wordpress-mobile/Pioupiou/trunk/app/src/main/res/mipmap-xxxhdpi/ic_egg.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wordpress-mobile/Pioupiou/trunk/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wordpress-mobile/Pioupiou/trunk/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wordpress-mobile/Pioupiou/trunk/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wordpress-mobile/Pioupiou/trunk/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wordpress-mobile/Pioupiou/trunk/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/gradle.properties-example: -------------------------------------------------------------------------------- 1 | wp.OAUTH.APP.ID = wp 2 | wp.OAUTH.APP.SECRET = wp 3 | wp.SITE_DOMAIN = [the domain of the site to use when displaying posts, ex: ponyexpress.wordpress.com] -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | .idea/ 11 | app/gradle.properties 12 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Jan 13 09:01:16 CET 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-all.zip 7 | -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 16dp 6 | 8dp 7 | 48dp 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_add_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_send_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/menu/post_list_menu.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/java/org/wordpress/pioupiou/misc/AppSecretsModule.java: -------------------------------------------------------------------------------- 1 | package org.wordpress.pioupiou.misc; 2 | 3 | import org.wordpress.android.fluxc.network.rest.wpcom.auth.AppSecrets; 4 | import org.wordpress.pioupiou.BuildConfig; 5 | 6 | import dagger.Module; 7 | import dagger.Provides; 8 | 9 | @Module 10 | public class AppSecretsModule { 11 | @Provides 12 | public AppSecrets provideAppSecrets() { 13 | return new AppSecrets(BuildConfig.OAUTH_APP_ID, BuildConfig.OAUTH_APP_SECRET); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_post_list.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 14 | -------------------------------------------------------------------------------- /app/src/main/java/org/wordpress/pioupiou/login/URLCheckFragment.java: -------------------------------------------------------------------------------- 1 | package org.wordpress.pioupiou.login; 2 | 3 | import android.app.Fragment; 4 | import android.os.Bundle; 5 | import android.view.LayoutInflater; 6 | import android.view.View; 7 | import android.view.ViewGroup; 8 | 9 | import org.wordpress.pioupiou.R; 10 | 11 | public class URLCheckFragment extends Fragment { 12 | @Override 13 | public View onCreateView(LayoutInflater inflater, ViewGroup container, 14 | Bundle savedInstanceState) { 15 | View view = inflater.inflate(R.layout.fragment_url_check, container, false); 16 | ((LoginActivity) getActivity()).bindUrlFragmentReferences(view); 17 | return view; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /app/src/main/java/org/wordpress/pioupiou/login/EmailPasswordFragment.java: -------------------------------------------------------------------------------- 1 | package org.wordpress.pioupiou.login; 2 | 3 | import android.app.Fragment; 4 | import android.os.Bundle; 5 | import android.view.LayoutInflater; 6 | import android.view.View; 7 | import android.view.ViewGroup; 8 | 9 | import org.wordpress.pioupiou.R; 10 | 11 | public class EmailPasswordFragment extends Fragment { 12 | @Override 13 | public View onCreateView(LayoutInflater inflater, ViewGroup container, 14 | Bundle savedInstanceState) { 15 | View view = inflater.inflate(R.layout.fragment_email_password, container, false); 16 | ((LoginActivity) getActivity()).bindEmailPasswordFragmentReferences(view); 17 | return view; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /app/src/main/java/org/wordpress/pioupiou/login/TwoFactorAuthFragment.java: -------------------------------------------------------------------------------- 1 | package org.wordpress.pioupiou.login; 2 | 3 | import android.app.Fragment; 4 | import android.os.Bundle; 5 | import android.view.LayoutInflater; 6 | import android.view.View; 7 | import android.view.ViewGroup; 8 | 9 | import org.wordpress.pioupiou.R; 10 | 11 | public class TwoFactorAuthFragment extends Fragment { 12 | @Override 13 | public View onCreateView(LayoutInflater inflater, ViewGroup container, 14 | Bundle savedInstanceState) { 15 | View view = inflater.inflate(R.layout.fragment_two_factor_auth, container, false); 16 | ((LoginActivity) getActivity()).bindTwoFactorAuthFragmentReferences(view); 17 | return view; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /app/src/main/res/anim/pressed_card.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 11 | 12 | 13 | 18 | 19 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | org.gradle.jvmargs=-Xmx1536m 13 | 14 | # When configured, Gradle will run in incubating parallel mode. 15 | # This option should only be used with decoupled projects. More details, visit 16 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 17 | # org.gradle.parallel=true 18 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: android 2 | jdk: oraclejdk8 3 | 4 | android: 5 | components: 6 | - extra-android-m2repository 7 | - extra-android-support 8 | - platform-tools 9 | - tools 10 | - build-tools-25.0.3 11 | - android-25 12 | 13 | env: 14 | global: 15 | - GRADLE_OPTS="-XX:MaxPermSize=4g -Xmx4g" 16 | - ANDROID_SDKS=android-14 17 | - ANDROID_TARGET=android-14 18 | 19 | before_install: 20 | # TODO: Remove the following line when Travis' platform-tools are updated to v24+ 21 | - echo yes | android update sdk -a --filter platform-tools --no-ui --force 22 | 23 | install: 24 | # Setup gradle.properties 25 | - cp app/gradle.properties-example app/gradle.properties 26 | 27 | script: 28 | - ./gradlew assembleDebug assembleRelease 29 | - ./gradlew lint || (grep -A20 -B2 'severity="Error"' */build/outputs/*.xml; exit 1) 30 | - ./gradlew checkstyle 31 | -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Users/max/work/android-sdk-mac/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | 19 | # Uncomment this to preserve the line number information for 20 | # debugging stack traces. 21 | #-keepattributes SourceFile,LineNumberTable 22 | 23 | # If you keep the line number information, uncomment this to 24 | # hide the original source file name. 25 | #-renamesourcefileattribute SourceFile 26 | -------------------------------------------------------------------------------- /app/src/main/java/org/wordpress/pioupiou/misc/PioupiouApp.java: -------------------------------------------------------------------------------- 1 | package org.wordpress.pioupiou.misc; 2 | 3 | import android.app.Application; 4 | 5 | import com.yarolegovich.wellsql.WellSql; 6 | 7 | import org.wordpress.android.fluxc.module.AppContextModule; 8 | import org.wordpress.android.fluxc.persistence.WellSqlConfig; 9 | 10 | import timber.log.Timber; 11 | 12 | public class PioupiouApp extends Application { 13 | private AppComponent mComponent; 14 | 15 | @Override 16 | public void onCreate() { 17 | super.onCreate(); 18 | // Init Dagger 19 | mComponent = DaggerAppComponent.builder() 20 | .appContextModule(new AppContextModule(getApplicationContext())) 21 | .build(); 22 | component().inject(this); 23 | 24 | // Init WellSql 25 | WellSql.init(new WellSqlConfig(getApplicationContext())); 26 | 27 | // Init Timber 28 | Timber.plant(new Timber.DebugTree()); 29 | } 30 | 31 | public AppComponent component() { 32 | return mComponent; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /app/src/main/java/org/wordpress/pioupiou/misc/AppComponent.java: -------------------------------------------------------------------------------- 1 | package org.wordpress.pioupiou.misc; 2 | 3 | import org.wordpress.android.fluxc.module.AppContextModule; 4 | import org.wordpress.android.fluxc.module.ReleaseBaseModule; 5 | import org.wordpress.android.fluxc.module.ReleaseNetworkModule; 6 | import org.wordpress.android.fluxc.module.ReleaseOkHttpClientModule; 7 | import org.wordpress.android.fluxc.module.ReleaseStoreModule; 8 | import org.wordpress.pioupiou.login.LoginActivity; 9 | import org.wordpress.pioupiou.postlist.PostListActivity; 10 | 11 | import javax.inject.Singleton; 12 | 13 | import dagger.Component; 14 | 15 | @Singleton 16 | @Component(modules = { 17 | AppContextModule.class, 18 | AppSecretsModule.class, 19 | ReleaseOkHttpClientModule.class, 20 | ReleaseBaseModule.class, 21 | ReleaseNetworkModule.class, 22 | ReleaseOkHttpClientModule.class, 23 | ReleaseStoreModule.class 24 | }) 25 | public interface AppComponent { 26 | void inject(PioupiouApp object); 27 | void inject(LoginActivity object); 28 | void inject(PostListActivity object); 29 | } 30 | 31 | -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 17 | 20 | 21 | 22 | 23 | 24 | 25 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_post_list.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 13 | 14 | 20 | 21 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 11 | 12 | 21 | 22 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Pioupiou 3 | 4 | 5 | 6 | Pioupiou 7 | What\'s your site address (also called site URL)? It should be something like:\n - ponyexpress.com\n - ponyexpress.wordpress.com\n - http://www.ponyexpre.ss 8 | Enter your username (or email address) and password 9 | Enter auth code 10 | Site address (URL) 11 | Username or email 12 | Password 13 | 2fa code 14 | Next 15 | Log in 16 | This site address (URL) is invalid 17 | This email address is invalid 18 | This password is too short 19 | This password is incorrect 20 | This field is required 21 | 22 | 23 | \u00A0–\u00A0 24 | Create new micro post 25 | 26 | 27 | What\'s on your mind? 28 | 29 | 30 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_url_check.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 19 | 20 | 33 | 34 |