This test rule is now in the 'test-rules' support repository. Use that one!
https://developer.android.com/reference/android/support/test/rule/ActivityTestRule.html
package com.webile.upload; | |
import java.io.BufferedReader; | |
import java.io.ByteArrayOutputStream; | |
import java.io.InputStreamReader; | |
import java.util.Date; | |
import org.apache.http.HttpResponse; | |
import org.apache.http.client.HttpClient; | |
import org.apache.http.client.methods.HttpPost; |
This test rule is now in the 'test-rules' support repository. Use that one!
https://developer.android.com/reference/android/support/test/rule/ActivityTestRule.html
/** | |
* Show the activity over the lockscreen and wake up the device. If you launched the app manually | |
* both of these conditions are already true. If you deployed from the IDE, however, this will | |
* save you from hundreds of power button presses and pattern swiping per day! | |
*/ | |
public static void riseAndShine(Activity activity) { | |
activity.getWindow().addFlags(FLAG_SHOW_WHEN_LOCKED); | |
PowerManager power = (PowerManager) activity.getSystemService(POWER_SERVICE); | |
PowerManager.WakeLock lock = |
public static Observable<List<String>> paginatedThings(final Observable<Void> onNextObservable) { | |
return Observable.create(new Observable.OnSubscribe<List<String>>() { | |
@Override | |
public void call(final Subscriber<? super List<String>> subscriber) { | |
onNextObservable.subscribe(new Observer<Void>() { | |
int latestPage = -1; | |
@Override | |
public void onCompleted() { | |
subscriber.onCompleted(); |
@Layout(R.layout.view_login) | |
@WithComponent(LoginScreen.Component.class) | |
public class LoginScreen extends Path { | |
@dagger.Component(dependencies = RootActivity.Component.class) | |
@PerScreenScope(Component.class) | |
public static interface Component extends RootActivity.Component { | |
void inject(LoginView view); | |
} |
Small gist shows how to config Dagger 2 to an Android project
@OnClick(R.id.fabupload) | |
public void upload(){ | |
Toast.makeText(MainActivity.this, "click", Toast.LENGTH_SHORT).show(); | |
MultipartBody.Builder builder = new MultipartBody.Builder() | |
.setType(MultipartBody.FORM); | |
for(int i = 0 ; i < images_path.size() ; i++) { |
/** | |
* Takes a bytes source and streams it to parallel sources. I.E Streaming bytes to two server in parallel. | |
*/ | |
public final class MirroredSource { | |
private final Buffer buffer = new Buffer(); | |
private final Source source; | |
private final AtomicBoolean sourceExhausted = new AtomicBoolean(); | |
private boolean closed = false; |
/* | |
* The MIT License | |
* | |
* Copyright (c) 2016 Andreas Ahlenstorf | |
* | |
* Permission is hereby granted, free of charge, to any person obtaining a copy | |
* of this software and associated documentation files (the "Software"), to deal | |
* in the Software without restriction, including without limitation the rights | |
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
* copies of the Software, and to permit persons to whom the Software is |