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