• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2016 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.android.packageinstaller.shadows;
18 
19 import android.os.SystemProperties;
20 
21 import org.robolectric.annotation.Implementation;
22 import org.robolectric.annotation.Implements;
23 
24 /**
25  * SystemProperties with configurable build type
26  */
27 @Implements(SystemProperties.class)
28 public class ShadowSystemProperties extends org.robolectric.shadows.ShadowSystemProperties {
29     /** If the build type is 'user' */
30     private static boolean sIsUserBuild = false;
31 
32     /**
33      * Set the build type to user of eng.
34      *
35      * @param isUserBuild if the build type should be user
36      */
setUserBuild(boolean isUserBuild)37     public static void setUserBuild(boolean isUserBuild) {
38         sIsUserBuild = isUserBuild;
39     }
40 
41     @Implementation
get(String key)42     public static String get(String key) {
43         if ("ro.build.type".equals(key)) {
44             if (sIsUserBuild) {
45                 return "user";
46             } else {
47                 return "eng";
48             }
49         } else {
50             return org.robolectric.shadows.ShadowSystemProperties.get(key);
51         }
52     }
53 }
54