Download File
Download Project
Settings
Line Wrap
Themes
default
ambiance
bespin
dracula
eclipse
material
mbo
mdn-like
neat
solarized dark
ttcn
zenburn
MainActivity.java
/* * Copyright 2016, The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.example.android.testing.espresso.IdlingResourceSample; import android.app.Activity; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.annotation.VisibleForTesting; import android.support.test.espresso.IdlingResource; import android.view.View; import android.widget.EditText; import android.widget.TextView; import com.example.android.testing.espresso.IdlingResourceSample.IdlingResource.SimpleIdlingResource; /** * Gets a text String from the user and displays it back after a while. */ public class MainActivity extends Activity implements View.OnClickListener, MessageDelayer.DelayerCallback { // The TextView used to display the message inside the Activity. private TextView mTextView; // The EditText where the user types the message. private EditText mEditText; // The Idling Resource which will be null in production. @Nullable private SimpleIdlingResource mIdlingResource; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Set the listeners for the buttons. findViewById(R.id.changeTextBt).setOnClickListener(this); mTextView = (TextView) findViewById(R.id.textToBeChanged); mEditText = (EditText) findViewById(R.id.editTextUserInput); } @Override public void onClick(View view) { // Get the text from the EditText view. final String text = mEditText.getText().toString(); if (view.getId() == R.id.changeTextBt) { // Set a temporary text. mTextView.setText(R.string.waiting_msg); // Submit the message to the delayer. MessageDelayer.processMessage(text, this, mIdlingResource); } } @Override public void onDone(String text) { // The delayer notifies the activity via a callback. mTextView.setText(text); } /** * Only called from test, creates and returns a new {@link SimpleIdlingResource}. */ @VisibleForTesting @NonNull public IdlingResource getIdlingResource() { if (mIdlingResource == null) { mIdlingResource = new SimpleIdlingResource(); } return mIdlingResource; } }