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