Testing with Activity Monitor

by Brian Phagan » Tue, 12 Apr 2011 07:23:45 GMT


Sponsored Links
 I am trying to write unit tests for my application.  I have a button
that initiates a call, and to test it I am trying to use an Activity
Monitor to block the call, but for some reason the call is allowed to
execute, causing the test to fail.  My test case is written as
follows:

public void test2Launches() {
                Instrumentation instr = getInstrumentation();
                IntentFilter callFilter = new IntentFilter(Intent.ACTION_CALL);
                Instrumentation.ActivityMonitor monitor =
instr.addMonitor(callFilter, null, true);
                mActivity.runOnUiThread(
                                new Runnable() {

                                        public void run() {
                                                mCallButton.requestFocus();

                                        }
                                }
                );
                this.sendKeys(KeyEvent.KEYCODE_DPAD_CENTER);
                assertEquals(1, monitor.getHits());
        }

Any help on why this isn't working would be appreciated.

-- 



Re: Testing with Activity Monitor

by Dianne Hackborn » Tue, 12 Apr 2011 07:28:00 GMT


 What is the error you are getting?







-- 
Dianne Hackborn
Android framework engineer
hack...@android.com

Note: please don't send private questions to me, as I don't have time to
provide private support, and so won't reply to such e-mails.  All such
questions should be posted on public forums, where I and others can see and
answer them.

-- 


Sponsored Links


Re: Testing with Activity Monitor

by Brian Phagan » Tue, 12 Apr 2011 07:43:43 GMT


 The Dialer activity is not blocked, it is allowed to launch.  Also,
the assertEquals(1, monitor.getHits()) fails with a value of 0.





-- 



Re: Re: Testing with Activity Monitor

by Dianne Hackborn » Tue, 12 Apr 2011 07:51:05 GMT


 Your intent filter also needs to handle CATEGORY_DEFAULT.  This should be
the exact same thing you would put in the manifest to handle an intent.









-- 
Dianne Hackborn
Android framework engineer
hack...@android.com

Note: please don't send private questions to me, as I don't have time to
provide private support, and so won't reply to such e-mails.  All such
questions should be posted on public forums, where I and others can see and
answer them.

-- 



Re: Testing with Activity Monitor

by Brian Phagan » Tue, 12 Apr 2011 08:24:26 GMT


  have added the category to the intent filter, but still no luck.
Code now looks like this:

public void test2Launches() {
Instrumentation instr = getInstrumentation();
IntentFilter callFilter = new IntentFilter(Intent.ACTION_CALL);
callFilter.addCategory(Intent.CATEGORY_DEFAULT);
Instrumentation.ActivityMonitor monitor =
instr.addMonitor(callFilter, null, true);
assertNotNull(mCallButton);
mActivity.runOnUiThread(
new Runnable() {

public void run() {
mCallButton.requestFocus();

}
}
);
this.sendKeys(KeyEvent.KEYCODE_DPAD_CENTER);
assertEquals(1, monitor.getHits());
}

On Apr 11, 6:50pm, Dianne Hackborn <hack...@android.com> wrote:

--



Re: Re: Testing with Activity Monitor

by Dianne Hackborn » Tue, 12 Apr 2011 08:29:13 GMT


 hat do you see in the log as the actual intent being started?

On Mon, Apr 11, 2011 at 5:24 PM, Brian Phagan <phagan....@gmail.com> wrote:




--
Dianne Hackborn
Android framework engineer
hack...@android.com

Note: please don't send private questions to me, as I don't have time to
provide private support, and so won't reply to such e-mails. All such
questions should be posted on public forums, where I and others can see and
answer them.

--



Re: Testing with Activity Monitor

by Brian Phagan » Tue, 12 Apr 2011 08:41:49 GMT


 4-12 00:38:32.894: INFO/ActivityManager(59): Starting activity:
Intent { act=android.intent.action.CALL dat=tel:5733415688
cmp=com.android.phone/.OutgoingCallBroadcaster }


On Apr 11, 7:28pm, Dianne Hackborn <hack...@android.com> wrote:

--



Re: Re: Testing with Activity Monitor

by Dianne Hackborn » Tue, 12 Apr 2011 09:50:58 GMT


 o that's the intent you need to intercept -- CALL and the "tel:" scheme.
Also of course the DEFAULT category.

On Mon, Apr 11, 2011 at 5:41 PM, Brian Phagan <phagan....@gmail.com> wrote:




--
Dianne Hackborn
Android framework engineer
hack...@android.com

Note: please don't send private questions to me, as I don't have time to
provide private support, and so won't reply to such e-mails. All such
questions should be posted on public forums, where I and others can see and
answer them.

--



Other Threads

1. MediaPlayer StreamVideo question.

Hello Group,

First question is. is it better to store the apps video as a resource on the 
phone? If yes, what format would you recommend. Or, would it be better to 
store the videos on a web server and stream the videos to the app when 
requested.

My app is going to have lots of video's eventually. I am thinking around 
10min each. Let's say for now 5 videos. But, will be more down the road. 
They are intro videos for my application for each objective type thing.

Now, if it is better to store them on the cloud/interwebs, how do you do 
streaming video with the MediaPlayer class. Do you have to store Temp files 
while it buffers or does it just stream? Also, if it does store temp files, 
where should I store them?

Some how my instinct is telling me, put files on a server and cache the 
buffer vids. 


Either way, where are good tutorials on doing anyone of these solutions. I 
already have the MediaPlayer class in my app and it works for playing local 
stuff. I just have to make it work for streaming vids.

Thanks group.

-- 

2. Custom Keyboard for an App

Hello,

I have created a simple custom keyboard based of the SoftKeyboard
Example in the Android SDK.  Assuming the user allows the keyboard to
be used, I would like the following behavior:

My app: My keyboard
All others: Default keyboard

Is there any kind of <intent-filter> for my service I can use to
accomplish this? Perhaps some logic I can use within my app to look at
all the available keyboards and pick the right one to use?


On more of a design note I read this post:

3. Questions about Custom (Compound) control

4. Using serial port to send out String on Android

5. Google Nexus S - Please provide as DEV phone, asap :-)

6. Listview with different types?

7. repo intialization