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
19d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhangimport android.content.Context;
20d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhangimport android.content.Intent;
21d5d190173c92cb9e6519cff3f8f85b85df2ea273Chong Zhangimport android.content.BroadcastReceiver;
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