1434fb4c1f2796b91b79c5a6646518305487802abHall Liu/*
2434fb4c1f2796b91b79c5a6646518305487802abHall Liu * Copyright (C) 2017 The Android Open Source Project
3434fb4c1f2796b91b79c5a6646518305487802abHall Liu *
4434fb4c1f2796b91b79c5a6646518305487802abHall Liu * Licensed under the Apache License, Version 2.0 (the "License");
5434fb4c1f2796b91b79c5a6646518305487802abHall Liu * you may not use this file except in compliance with the License.
6434fb4c1f2796b91b79c5a6646518305487802abHall Liu * You may obtain a copy of the License at
7434fb4c1f2796b91b79c5a6646518305487802abHall Liu *
8434fb4c1f2796b91b79c5a6646518305487802abHall Liu *      http://www.apache.org/licenses/LICENSE-2.0
9434fb4c1f2796b91b79c5a6646518305487802abHall Liu *
10434fb4c1f2796b91b79c5a6646518305487802abHall Liu * Unless required by applicable law or agreed to in writing, software
11434fb4c1f2796b91b79c5a6646518305487802abHall Liu * distributed under the License is distributed on an "AS IS" BASIS,
12434fb4c1f2796b91b79c5a6646518305487802abHall Liu * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13434fb4c1f2796b91b79c5a6646518305487802abHall Liu * See the License for the specific language governing permissions and
14434fb4c1f2796b91b79c5a6646518305487802abHall Liu * limitations under the License
15434fb4c1f2796b91b79c5a6646518305487802abHall Liu */
16434fb4c1f2796b91b79c5a6646518305487802abHall Liu
17434fb4c1f2796b91b79c5a6646518305487802abHall Liupackage com.android.phone.testapps.embmsdownload;
18434fb4c1f2796b91b79c5a6646518305487802abHall Liu
19434fb4c1f2796b91b79c5a6646518305487802abHall Liuimport android.content.ComponentName;
20434fb4c1f2796b91b79c5a6646518305487802abHall Liuimport android.content.Context;
21434fb4c1f2796b91b79c5a6646518305487802abHall Liuimport android.content.Intent;
22434fb4c1f2796b91b79c5a6646518305487802abHall Liuimport android.telephony.mbms.FileServiceInfo;
23434fb4c1f2796b91b79c5a6646518305487802abHall Liu
24434fb4c1f2796b91b79c5a6646518305487802abHall Liupublic class SideChannel {
25434fb4c1f2796b91b79c5a6646518305487802abHall Liu    public static final String ACTION_TRIGGER_CLEANUP =
26434fb4c1f2796b91b79c5a6646518305487802abHall Liu            "com.android.phone.testapps.embmsmw.TRIGGER_CLEANUP";
27434fb4c1f2796b91b79c5a6646518305487802abHall Liu    public static final String ACTION_REQUEST_SPURIOUS_TEMP_FILES =
28434fb4c1f2796b91b79c5a6646518305487802abHall Liu            "com.android.phone.testapps.embmsmw.REQUEST_SPURIOUS_TEMP_FILES";
29434fb4c1f2796b91b79c5a6646518305487802abHall Liu    public static final String ACTION_DELAY_DOWNLOAD =
30434fb4c1f2796b91b79c5a6646518305487802abHall Liu            "com.android.phone.testapps.embmsmw.DELAY_DOWNLOAD";
31434fb4c1f2796b91b79c5a6646518305487802abHall Liu
32434fb4c1f2796b91b79c5a6646518305487802abHall Liu    public static final String EXTRA_SERVICE_INFO =
33434fb4c1f2796b91b79c5a6646518305487802abHall Liu            "com.android.phone.testapps.embmsmw.SERVICE_INFO";
34434fb4c1f2796b91b79c5a6646518305487802abHall Liu    public static final String EXTRA_DELAY_FACTOR =
35434fb4c1f2796b91b79c5a6646518305487802abHall Liu            "com.android.phone.testapps.embmsmw.DELAY_FACTOR";
36434fb4c1f2796b91b79c5a6646518305487802abHall Liu
37434fb4c1f2796b91b79c5a6646518305487802abHall Liu    public static final ComponentName MIDDLEWARE_RECEIVER = new ComponentName(
38434fb4c1f2796b91b79c5a6646518305487802abHall Liu            "com.android.phone.testapps.embmsmw",
39434fb4c1f2796b91b79c5a6646518305487802abHall Liu            "com.android.phone.testapps.embmsmw.SideChannelReceiver");
40434fb4c1f2796b91b79c5a6646518305487802abHall Liu
41434fb4c1f2796b91b79c5a6646518305487802abHall Liu    public static void triggerCleanup(Context context) {
42434fb4c1f2796b91b79c5a6646518305487802abHall Liu        Intent intent  = new Intent(ACTION_TRIGGER_CLEANUP);
43434fb4c1f2796b91b79c5a6646518305487802abHall Liu        intent.setComponent(MIDDLEWARE_RECEIVER);
44434fb4c1f2796b91b79c5a6646518305487802abHall Liu        context.sendBroadcast(intent);
45434fb4c1f2796b91b79c5a6646518305487802abHall Liu    }
46434fb4c1f2796b91b79c5a6646518305487802abHall Liu
47434fb4c1f2796b91b79c5a6646518305487802abHall Liu    public static void requestSpuriousTempFiles(Context context, FileServiceInfo serviceInfo) {
48434fb4c1f2796b91b79c5a6646518305487802abHall Liu        Intent intent = new Intent(ACTION_REQUEST_SPURIOUS_TEMP_FILES);
49434fb4c1f2796b91b79c5a6646518305487802abHall Liu        intent.putExtra(EXTRA_SERVICE_INFO, serviceInfo);
50434fb4c1f2796b91b79c5a6646518305487802abHall Liu        intent.setComponent(MIDDLEWARE_RECEIVER);
51434fb4c1f2796b91b79c5a6646518305487802abHall Liu        context.sendBroadcast(intent);
52434fb4c1f2796b91b79c5a6646518305487802abHall Liu    }
53434fb4c1f2796b91b79c5a6646518305487802abHall Liu
54434fb4c1f2796b91b79c5a6646518305487802abHall Liu    public static void delayDownloads(Context context, int delay) {
55434fb4c1f2796b91b79c5a6646518305487802abHall Liu        Intent intent = new Intent(ACTION_DELAY_DOWNLOAD);
56434fb4c1f2796b91b79c5a6646518305487802abHall Liu        intent.putExtra(EXTRA_DELAY_FACTOR, delay);
57434fb4c1f2796b91b79c5a6646518305487802abHall Liu        intent.setComponent(MIDDLEWARE_RECEIVER);
58434fb4c1f2796b91b79c5a6646518305487802abHall Liu        context.sendBroadcast(intent);
59434fb4c1f2796b91b79c5a6646518305487802abHall Liu    }
60434fb4c1f2796b91b79c5a6646518305487802abHall Liu}
61