1d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang/* 2d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang * Copyright (C) 2013 The Android Open Source Project 3d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang * 4d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang * Licensed under the Apache License, Version 2.0 (the "License"); 5d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang * you may not use this file except in compliance with the License. 6d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang * You may obtain a copy of the License at 7d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang * 8d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang * http://www.apache.org/licenses/LICENSE-2.0 9d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang * 10d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang * Unless required by applicable law or agreed to in writing, software 11d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang * distributed under the License is distributed on an "AS IS" BASIS, 12d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang * See the License for the specific language governing permissions and 14d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang * limitations under the License. 15d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang */ 16d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang 17d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhangpackage com.example.android.supportv7.media; 18d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang 19def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikasimport android.content.BroadcastReceiver; 20d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhangimport android.content.Context; 21d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhangimport android.content.Intent; 22d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhangimport android.view.KeyEvent; 23d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang 24d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang/** 25d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang * Broadcast receiver for handling ACTION_MEDIA_BUTTON. 26d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang * 27d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang * This is needed to create the RemoteControlClient for controlling 28d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang * remote route volume in lock screen. It routes media key events back 29d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang * to main app activity SampleMediaRouterActivity. 30d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang */ 31d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhangpublic class SampleMediaButtonReceiver extends BroadcastReceiver { 32d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang private static final String TAG = "SampleMediaButtonReceiver"; 33d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang private static SampleMediaRouterActivity mActivity; 34d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang 35d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang public static void setActivity(SampleMediaRouterActivity activity) { 36d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang mActivity = activity; 37d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang } 38d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang 39d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang @Override 40d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang public void onReceive(Context context, Intent intent) { 41d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang if (mActivity != null && Intent.ACTION_MEDIA_BUTTON.equals(intent.getAction())) { 42d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang mActivity.handleMediaKey( 43d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang (KeyEvent)intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT)); 44d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang } 45d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang } 46d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhang} 47