generatev4.py revision 2a9b6dfcc745e9ebe3697b590d7f5cdd116b0c3f
1#!/usr/bin/python 2 3# Copyright (C) 2015 The Android Open Source Project 4# 5# Licensed under the Apache License, Version 2.0 (the "License"); 6# you may not use this file except in compliance with the License. 7# You may obtain a copy of the License at 8# 9# http://www.apache.org/licenses/LICENSE-2.0 10# 11# Unless required by applicable law or agreed to in writing, software 12# distributed under the License is distributed on an "AS IS" BASIS, 13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14# See the License for the specific language governing permissions and 15# limitations under the License. 16 17import os 18import sys 19 20print "Generate v4 fragment related code for leanback" 21 22files = ['BrowseTest', 'GuidedStepTest'] 23 24cls = ['BrowseTest', 'Background', 'Base', 'BaseRow', 'Browse', 'Details', 'Error', 'Headers', 25 'PlaybackOverlay', 'Rows', 'Search', 'VerticalGrid', 'Branded', 26 'GuidedStepTest', 'GuidedStep'] 27 28for w in files: 29 print "copy {}Fragment to {}SupportFragment".format(w, w) 30 31 file = open('java/android/support/v17/leanback/app/{}Fragment.java'.format(w), 'r') 32 outfile = open('java/android/support/v17/leanback/app/{}SupportFragment.java'.format(w), 'w') 33 34 outfile.write("/* This file is auto-generated from {}Fragment.java. DO NOT MODIFY. */\n\n".format(w)) 35 36 for line in file: 37 for w in cls: 38 line = line.replace('{}Fragment'.format(w), '{}SupportFragment'.format(w)) 39 line = line.replace('android.app.Fragment', 'android.support.v4.app.Fragment') 40 line = line.replace('android.app.Activity', 'android.support.v4.app.FragmentActivity') 41 line = line.replace('Activity getActivity()', 'FragmentActivity getActivity()') 42 outfile.write(line) 43 file.close() 44 outfile.close() 45 46testcls = ['GuidedStep'] 47 48for w in testcls: 49 print "copy {}FrgamentTestBase to {}SupportFragmentTestBase".format(w, w) 50 51 file = open('java/android/support/v17/leanback/app/{}FragmentTestBase.java'.format(w), 'r') 52 outfile = open('java/android/support/v17/leanback/app/{}SupportFragmentTestBase.java'.format(w), 'w') 53 54 outfile.write("/* This file is auto-generated from {}FrgamentTestBase.java. DO NOT MODIFY. */\n\n".format(w)) 55 56 for line in file: 57 for w in cls: 58 line = line.replace('{}Fragment'.format(w), '{}SupportFragment'.format(w)) 59 for w in testcls: 60 line = line.replace('{}FragmentTestBase'.format(w), '{}SupportFragmentTestBase'.format(w)) 61 line = line.replace('{}FragmentTestActivity'.format(w), '{}SupportFragmentTestActivity'.format(w)) 62 line = line.replace('{}TestFragment'.format(w), '{}TestSupportFragment'.format(w)) 63 line = line.replace('android.app.Fragment', 'android.support.v4.app.Fragment') 64 line = line.replace('android.app.Activity', 'android.support.v4.app.FragmentActivity') 65 outfile.write(line) 66 file.close() 67 outfile.close() 68 69testcls = ['Browse', 'GuidedStep', 'VerticalGrid'] 70 71for w in testcls: 72 print "copy {}FrgamentTest to {}SupportFragmentTest".format(w, w) 73 74 file = open('java/android/support/v17/leanback/app/{}FragmentTest.java'.format(w), 'r') 75 outfile = open('java/android/support/v17/leanback/app/{}SupportFragmentTest.java'.format(w), 'w') 76 77 outfile.write("/* This file is auto-generated from {}FragmentTest.java. DO NOT MODIFY. */\n\n".format(w)) 78 79 for line in file: 80 for w in cls: 81 line = line.replace('{}Fragment'.format(w), '{}SupportFragment'.format(w)) 82 for w in testcls: 83 line = line.replace('{}FragmentTestBase'.format(w), '{}SupportFragmentTestBase'.format(w)) 84 line = line.replace('{}FragmentTest'.format(w), '{}SupportFragmentTest'.format(w)) 85 line = line.replace('{}FragmentTestActivity'.format(w), '{}SupportFragmentTestActivity'.format(w)) 86 line = line.replace('{}TestFragment'.format(w), '{}TestSupportFragment'.format(w)) 87 line = line.replace('android.app.Fragment', 'android.support.v4.app.Fragment') 88 line = line.replace('android.app.Activity', 'android.support.v4.app.FragmentActivity') 89 line = line.replace('extends Activity', 'extends FragmentActivity') 90 line = line.replace('Activity.this.getFragmentManager', 'Activity.this.getSupportFragmentManager') 91 outfile.write(line) 92 file.close() 93 outfile.close() 94 95testcls = ['Browse', 'GuidedStep'] 96 97for w in testcls: 98 print "copy {}FragmentTestActivity to {}SupportFragmentTestActivity".format(w, w) 99 file = open('java/android/support/v17/leanback/app/{}FragmentTestActivity.java'.format(w), 'r') 100 outfile = open('java/android/support/v17/leanback/app/{}SupportFragmentTestActivity.java'.format(w), 'w') 101 outfile.write("/* This file is auto-generated from {}FragmentTestActivity.java. DO NOT MODIFY. */\n\n".format(w)) 102 for line in file: 103 line = line.replace('{}TestFragment'.format(w), '{}TestSupportFragment'.format(w)) 104 line = line.replace('{}FragmentTestActivity'.format(w), '{}SupportFragmentTestActivity'.format(w)) 105 line = line.replace('android.app.Fragment', 'android.support.v4.app.Fragment') 106 line = line.replace('android.app.Activity', 'android.support.v4.app.FragmentActivity') 107 line = line.replace('extends Activity', 'extends FragmentActivity') 108 line = line.replace('getFragmentManager', 'getSupportFragmentManager') 109 outfile.write(line) 110 file.close() 111 outfile.close() 112 113print "copy ParallaxIntEffectTest to ParallaxFloatEffectTest" 114file = open('java/android/support/v17/leanback/widget/ParallaxIntEffectTest.java', 'r') 115outfile = open('java/android/support/v17/leanback/widget/ParallaxFloatEffectTest.java', 'w') 116outfile.write("/* This file is auto-generated from ParallaxIntEffectTest.java. DO NOT MODIFY. */\n\n") 117for line in file: 118 line = line.replace('IntEffect', 'FloatEffect') 119 line = line.replace('IntSource', 'FloatSource') 120 line = line.replace('IntProperty', 'FloatProperty') 121 line = line.replace('IntValue', 'FloatValue') 122 line = line.replace('intValue()', 'floatValue()') 123 line = line.replace('int getMaxParentVisibleSize', 'float getMaxParentVisibleSize') 124 line = line.replace('int screenMax', 'float screenMax') 125 line = line.replace('assertEquals((int)', 'assertFloatEquals((float)') 126 line = line.replace('(int)', '(float)') 127 outfile.write(line) 128file.close() 129outfile.close() 130 131 132print "copy ParallaxIntSourceTest to ParallaxFloatSourceTest" 133file = open('java/android/support/v17/leanback/widget/ParallaxIntSourceTest.java', 'r') 134outfile = open('java/android/support/v17/leanback/widget/ParallaxFloatSourceTest.java', 'w') 135outfile.write("/* This file is auto-generated from ParallaxIntSourceTest.java. DO NOT MODIFY. */\n\n") 136for line in file: 137 line = line.replace('IntSource', 'FloatSource') 138 line = line.replace('IntProperty', 'FloatProperty') 139 line = line.replace('IntValue', 'FloatValue') 140 line = line.replace('intValue()', 'floatValue()') 141 line = line.replace('int getMaxParentVisibleSize', 'float getMaxParentVisibleSize') 142 line = line.replace('int screenMax', 'float screenMax') 143 line = line.replace('assertEquals((int)', 'assertFloatEquals((float)') 144 line = line.replace('(int)', '(float)') 145 outfile.write(line) 146file.close() 147outfile.close() 148 149 150print "copy PlaybackControlGlueTest to PlaybackControlSupportGlueTest" 151file = open('java/android/support/v17/leanback/app/PlaybackControlGlueTest.java', 'r') 152outfile = open('java/android/support/v17/leanback/app/PlaybackControlSupportGlueTest.java', 'w') 153outfile.write("/* This file is auto-generated from PlaybackControlGlueTest.java. DO NOT MODIFY. */\n\n") 154for line in file: 155 line = line.replace('PlaybackControlGlue', 'PlaybackControlSupportGlue') 156 outfile.write(line) 157file.close() 158outfile.close() 159 160