generatev4.py revision e3ef610a75fd382df930699ca42b61f24ac128f8
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
19import getopt
20
21def write_java_head(tofile, name):
22    tofile.write("/* This file is auto-generated from {}.java.  DO NOT MODIFY. */\n\n".format(name))
23
24def replace_xml_head(line, name):
25    return line.replace('<?xml version="1.0" encoding="utf-8"?>', '<?xml version="1.0" encoding="utf-8"?>\n<!-- This file is auto-generated from {}.xml.  DO NOT MODIFY. -->\n'.format(name))
26
27file = open('src/com/example/android/leanback/GuidedStepActivity.java', 'r')
28outfile = open('src/com/example/android/leanback/GuidedStepSupportActivity.java', 'w')
29write_java_head(outfile, "GuidedStepActivity")
30for line in file:
31    line = line.replace('android.app.Fragment', 'android.support.v4.app.Fragment')
32    line = line.replace('android.app.Activity', 'android.support.v4.app.FragmentActivity')
33    line = line.replace('GuidedStepFragment', 'GuidedStepSupportFragment')
34    line = line.replace('GuidedStepActivity', 'GuidedStepSupportActivity')
35    line = line.replace('extends Activity', 'extends FragmentActivity')
36    outfile.write(line)
37file.close()
38outfile.close()
39
40file = open('src/com/example/android/leanback/GuidedStepHalfScreenActivity.java', 'r')
41outfile = open('src/com/example/android/leanback/GuidedStepSupportHalfScreenActivity.java', 'w')
42write_java_head(outfile, "GuidedStepHalfScreenActivity")
43for line in file:
44    line = line.replace('android.app.Fragment', 'android.support.v4.app.Fragment')
45    line = line.replace('android.app.Activity', 'android.support.v4.app.FragmentActivity')
46    line = line.replace('GuidedStepFragment', 'GuidedStepSupportFragment')
47    line = line.replace('GuidedStepActivity', 'GuidedStepSupportActivity')
48    line = line.replace('GuidedStepHalfScreenActivity', 'GuidedStepSupportHalfScreenActivity')
49    line = line.replace('extends Activity', 'extends FragmentActivity')
50    outfile.write(line)
51file.close()
52outfile.close()
53
54file = open('src/com/example/android/leanback/BrowseFragment.java', 'r')
55outfile = open('src/com/example/android/leanback/BrowseSupportFragment.java', 'w')
56write_java_head(outfile, "BrowseFragment")
57for line in file:
58    line = line.replace('android.app.Fragment', 'android.support.v4.app.Fragment')
59    line = line.replace('android.app.Activity', 'android.support.v4.app.FragmentActivity')
60    line = line.replace('BrowseFragment', 'BrowseSupportFragment')
61    line = line.replace('GuidedStepFragment', 'GuidedStepSupportFragment')
62    line = line.replace('GuidedStepActivity', 'GuidedStepSupportActivity')
63    line = line.replace('BrowseActivity', 'BrowseSupportActivity')
64    line = line.replace('DetailsActivity', 'DetailsSupportActivity')
65    line = line.replace('SearchActivity', 'SearchSupportActivity')
66    line = line.replace('RowsActivity', 'RowsSupportActivity')
67    line = line.replace('RowsFragment', 'RowsSupportFragment')
68    line = line.replace('GuidedStepHalfScreenActivity', 'GuidedStepSupportHalfScreenActivity')
69    outfile.write(line)
70file.close()
71outfile.close()
72
73file = open('src/com/example/android/leanback/BrowseActivity.java', 'r')
74outfile = open('src/com/example/android/leanback/BrowseSupportActivity.java', 'w')
75write_java_head(outfile, "BrowseActivity")
76for line in file:
77    line = line.replace('BrowseActivity', 'BrowseSupportActivity')
78    line = line.replace('android.app.Activity', 'android.support.v4.app.FragmentActivity')
79    line = line.replace('extends Activity', 'extends FragmentActivity')
80    line = line.replace('R.layout.browse', 'R.layout.browse_support')
81    outfile.write(line)
82file.close()
83outfile.close()
84
85file = open('res/layout/browse.xml', 'r')
86outfile = open('res/layout/browse_support.xml', 'w')
87for line in file:
88    line = replace_xml_head(line, "browse")
89    line = line.replace('com.example.android.leanback.BrowseFragment', 'com.example.android.leanback.BrowseSupportFragment')
90    outfile.write(line)
91file.close()
92outfile.close()
93
94
95file = open('src/com/example/android/leanback/DetailsFragment.java', 'r')
96outfile = open('src/com/example/android/leanback/DetailsSupportFragment.java', 'w')
97write_java_head(outfile, "DetailsFragment")
98for line in file:
99    line = line.replace('android.app.Fragment', 'android.support.v4.app.Fragment')
100    line = line.replace('android.app.Activity', 'android.support.v4.app.FragmentActivity')
101    line = line.replace('DetailsFragment', 'DetailsSupportFragment')
102    line = line.replace('DetailsActivity', 'DetailsSupportActivity')
103    line = line.replace('PlaybackOverlayActivity', 'PlaybackOverlaySupportActivity')
104    line = line.replace('SearchActivity', 'SearchSupportActivity')
105    outfile.write(line)
106file.close()
107outfile.close()
108
109file = open('src/com/example/android/leanback/NewDetailsFragment.java', 'r')
110outfile = open('src/com/example/android/leanback/NewDetailsSupportFragment.java', 'w')
111write_java_head(outfile, "NewDetailsFragment")
112for line in file:
113    line = line.replace('android.app.Fragment', 'android.support.v4.app.Fragment')
114    line = line.replace('android.app.Activity', 'android.support.v4.app.FragmentActivity')
115    line = line.replace('DetailsFragment', 'DetailsSupportFragment')
116    line = line.replace('DetailsActivity', 'DetailsSupportActivity')
117    line = line.replace('PlaybackOverlayActivity', 'PlaybackOverlaySupportActivity')
118    line = line.replace('SearchActivity', 'SearchSupportActivity')
119    outfile.write(line)
120file.close()
121outfile.close()
122
123file = open('src/com/example/android/leanback/DetailsActivity.java', 'r')
124outfile = open('src/com/example/android/leanback/DetailsSupportActivity.java', 'w')
125write_java_head(outfile, "DetailsActivity")
126for line in file:
127    line = line.replace('DetailsActivity', 'DetailsSupportActivity')
128    line = line.replace('android.app.Activity', 'android.support.v4.app.FragmentActivity')
129    line = line.replace('extends Activity', 'extends FragmentActivity')
130    line = line.replace('R.layout.details', 'R.layout.details_support')
131    line = line.replace('R.layout.legacy_details', 'R.layout.legacy_details_support')
132    line = line.replace('getFragmentManager()', 'getSupportFragmentManager()')
133    line = line.replace('DetailsFragment', 'DetailsSupportFragment')
134    line = line.replace('NewDetailsFragment', 'NewDetailsSupportFragment')
135    outfile.write(line)
136file.close()
137outfile.close()
138
139file = open('res/layout/details.xml', 'r')
140outfile = open('res/layout/details_support.xml', 'w')
141for line in file:
142    line = replace_xml_head(line, "details")
143    line = line.replace('com.example.android.leanback.NewDetailsFragment', 'com.example.android.leanback.NewDetailsSupportFragment')
144    outfile.write(line)
145file.close()
146outfile.close()
147
148
149file = open('res/layout/legacy_details.xml', 'r')
150outfile = open('res/layout/legacy_details_support.xml', 'w')
151for line in file:
152    line = replace_xml_head(line, "legacy_details")
153    line = line.replace('com.example.android.leanback.DetailsFragment', 'com.example.android.leanback.DetailsSupportFragment')
154    outfile.write(line)
155file.close()
156outfile.close()
157
158
159file = open('src/com/example/android/leanback/SearchDetailsActivity.java', 'r')
160outfile = open('src/com/example/android/leanback/SearchDetailsSupportActivity.java', 'w')
161write_java_head(outfile, "SearchDetailsActivity")
162for line in file:
163    line = line.replace('DetailsActivity', 'DetailsSupportActivity')
164    outfile.write(line)
165file.close()
166outfile.close()
167
168
169file = open('src/com/example/android/leanback/SearchFragment.java', 'r')
170outfile = open('src/com/example/android/leanback/SearchSupportFragment.java', 'w')
171write_java_head(outfile, "SearchFragment")
172for line in file:
173    line = line.replace('SearchFragment', 'SearchSupportFragment')
174    line = line.replace('DetailsActivity', 'DetailsSupportActivity')
175    outfile.write(line)
176file.close()
177outfile.close()
178
179file = open('src/com/example/android/leanback/SearchActivity.java', 'r')
180outfile = open('src/com/example/android/leanback/SearchSupportActivity.java', 'w')
181write_java_head(outfile, "SearchActivity")
182for line in file:
183    line = line.replace('SearchActivity', 'SearchSupportActivity')
184    line = line.replace('extends Activity', 'extends FragmentActivity')
185    line = line.replace('R.layout.search', 'R.layout.search_support')
186    line = line.replace('android.app.Activity', 'android.support.v4.app.FragmentActivity')
187    line = line.replace('getFragmentManager()', 'getSupportFragmentManager()')
188    line = line.replace('SearchFragment', 'SearchSupportFragment')
189    outfile.write(line)
190file.close()
191outfile.close()
192
193file = open('res/layout/search.xml', 'r')
194outfile = open('res/layout/search_support.xml', 'w')
195for line in file:
196    line = replace_xml_head(line, "search")
197    line = line.replace('com.example.android.leanback.SearchFragment', 'com.example.android.leanback.SearchSupportFragment')
198    outfile.write(line)
199file.close()
200outfile.close()
201
202file = open('src/com/example/android/leanback/VerticalGridFragment.java', 'r')
203outfile = open('src/com/example/android/leanback/VerticalGridSupportFragment.java', 'w')
204outfile.write("/* This file is auto-generated from VerticalGridFragment.  DO NOT MODIFY. */\n\n")
205for line in file:
206    line = line.replace('VerticalGridFragment', 'VerticalGridSupportFragment')
207    line = line.replace('DetailsActivity', 'DetailsSupportActivity')
208    line = line.replace('SearchActivity', 'SearchSupportActivity')
209    outfile.write(line)
210file.close()
211outfile.close()
212
213file = open('src/com/example/android/leanback/VerticalGridActivity.java', 'r')
214outfile = open('src/com/example/android/leanback/VerticalGridSupportActivity.java', 'w')
215write_java_head(outfile, "VerticalGridActivity")
216for line in file:
217    line = line.replace('VerticalGridActivity', 'VerticalGridSupportActivity')
218    line = line.replace('extends Activity', 'extends FragmentActivity')
219    line = line.replace('R.layout.vertical_grid', 'R.layout.vertical_grid_support')
220    line = line.replace('android.app.Activity', 'android.support.v4.app.FragmentActivity')
221    line = line.replace('getFragmentManager()', 'getSupportFragmentManager()')
222    line = line.replace('VerticalGridFragment', 'VerticalGridSupportFragment')
223    outfile.write(line)
224file.close()
225outfile.close()
226
227file = open('res/layout/vertical_grid.xml', 'r')
228outfile = open('res/layout/vertical_grid_support.xml', 'w')
229for line in file:
230    line = replace_xml_head(line, "vertical_grid")
231    line = line.replace('com.example.android.leanback.VerticalGridFragment', 'com.example.android.leanback.VerticalGridSupportFragment')
232    outfile.write(line)
233file.close()
234outfile.close()
235
236
237file = open('src/com/example/android/leanback/ErrorFragment.java', 'r')
238outfile = open('src/com/example/android/leanback/ErrorSupportFragment.java', 'w')
239write_java_head(outfile, "ErrorFragment")
240for line in file:
241    line = line.replace('ErrorFragment', 'ErrorSupportFragment')
242    outfile.write(line)
243file.close()
244outfile.close()
245
246file = open('src/com/example/android/leanback/BrowseErrorActivity.java', 'r')
247outfile = open('src/com/example/android/leanback/BrowseErrorSupportActivity.java', 'w')
248write_java_head(outfile, "BrowseErrorActivity")
249for line in file:
250    line = line.replace('BrowseErrorActivity', 'BrowseErrorSupportActivity')
251    line = line.replace('extends Activity', 'extends FragmentActivity')
252    line = line.replace('R.layout.browse', 'R.layout.browse_support')
253    line = line.replace('android.app.Activity', 'android.support.v4.app.FragmentActivity')
254    line = line.replace('getFragmentManager()', 'getSupportFragmentManager()')
255    line = line.replace('ErrorFragment', 'ErrorSupportFragment')
256    line = line.replace('SpinnerFragment', 'SpinnerSupportFragment')
257    line = line.replace('android.app.Fragment', 'android.support.v4.app.Fragment')
258    outfile.write(line)
259file.close()
260outfile.close()
261
262file = open('src/com/example/android/leanback/RowsFragment.java', 'r')
263outfile = open('src/com/example/android/leanback/RowsSupportFragment.java', 'w')
264write_java_head(outfile, "RowsFragment")
265for line in file:
266    line = line.replace('RowsFragment', 'RowsSupportFragment')
267    line = line.replace('DetailsActivity', 'DetailsSupportActivity')
268    outfile.write(line)
269file.close()
270outfile.close()
271
272file = open('src/com/example/android/leanback/RowsActivity.java', 'r')
273outfile = open('src/com/example/android/leanback/RowsSupportActivity.java', 'w')
274write_java_head(outfile, "RowsActivity")
275for line in file:
276    line = line.replace('RowsActivity', 'RowsSupportActivity')
277    line = line.replace('extends Activity', 'extends FragmentActivity')
278    line = line.replace('R.layout.rows', 'R.layout.rows_support')
279    line = line.replace('android.app.Activity', 'android.support.v4.app.FragmentActivity')
280    line = line.replace('RowsFragment', 'RowsSupportFragment')
281    line = line.replace('getFragmentManager()', 'getSupportFragmentManager()')
282    line = line.replace('SearchActivity', 'SearchSupportActivity')
283    outfile.write(line)
284file.close()
285outfile.close()
286
287file = open('res/layout/rows.xml', 'r')
288outfile = open('res/layout/rows_support.xml', 'w')
289for line in file:
290    line = replace_xml_head(line, "rows")
291    line = line.replace('com.example.android.leanback.RowsFragment', 'com.example.android.leanback.RowsSupportFragment')
292    outfile.write(line)
293file.close()
294outfile.close()
295
296
297file = open('src/com/example/android/leanback/PlaybackOverlayFragment.java', 'r')
298outfile = open('src/com/example/android/leanback/PlaybackOverlaySupportFragment.java', 'w')
299write_java_head(outfile, "PlaybackOverlayFragment")
300for line in file:
301    line = line.replace('PlaybackOverlayFragment', 'PlaybackOverlaySupportFragment')
302    line = line.replace('PlaybackControlHelper', 'PlaybackControlSupportHelper')
303    line = line.replace('PlaybackOverlayActivity', 'PlaybackOverlaySupportActivity')
304    outfile.write(line)
305file.close()
306outfile.close()
307
308file = open('src/com/example/android/leanback/PlaybackControlHelper.java', 'r')
309outfile = open('src/com/example/android/leanback/PlaybackControlSupportHelper.java', 'w')
310write_java_head(outfile, "PlaybackControlHelper")
311for line in file:
312    line = line.replace('PlaybackControlHelper', 'PlaybackControlSupportHelper')
313    line = line.replace('PlaybackControlGlue', 'PlaybackControlSupportGlue')
314    line = line.replace('PlaybackOverlayFragment', 'PlaybackOverlaySupportFragment')
315    outfile.write(line)
316file.close()
317outfile.close()
318
319file = open('src/com/example/android/leanback/PlaybackOverlayActivity.java', 'r')
320outfile = open('src/com/example/android/leanback/PlaybackOverlaySupportActivity.java', 'w')
321write_java_head(outfile, "PlaybackOverlayActivity")
322for line in file:
323    line = line.replace('PlaybackOverlayActivity', 'PlaybackOverlaySupportActivity')
324    line = line.replace('extends Activity', 'extends FragmentActivity')
325    line = line.replace('R.layout.playback_controls', 'R.layout.playback_controls_support')
326    line = line.replace('android.app.Activity', 'android.support.v4.app.FragmentActivity')
327    outfile.write(line)
328file.close()
329outfile.close()
330
331file = open('res/layout/playback_controls.xml', 'r')
332outfile = open('res/layout/playback_controls_support.xml', 'w')
333for line in file:
334    line = replace_xml_head(line, "playback_controls")
335    line = line.replace('com.example.android.leanback.PlaybackOverlayFragment', 'com.example.android.leanback.PlaybackOverlaySupportFragment')
336    outfile.write(line)
337file.close()
338outfile.close()
339
340file = open('src/com/example/android/leanback/OnboardingActivity.java', 'r')
341outfile = open('src/com/example/android/leanback/OnboardingSupportActivity.java', 'w')
342write_java_head(outfile, "OnboardingActivity")
343for line in file:
344    line = line.replace('android.app.Fragment', 'android.support.v4.app.Fragment')
345    line = line.replace('android.app.Activity', 'android.support.v4.app.FragmentActivity')
346    line = line.replace('OnboardingActivity', 'OnboardingSupportActivity')
347    line = line.replace('OnboardingDemoFragment', 'OnboardingDemoSupportFragment')
348    line = line.replace('extends Activity', 'extends FragmentActivity')
349    line = line.replace('getFragmentManager()', 'getSupportFragmentManager()')
350    outfile.write(line)
351file.close()
352outfile.close()
353
354file = open('src/com/example/android/leanback/OnboardingDemoFragment.java', 'r')
355outfile = open('src/com/example/android/leanback/OnboardingDemoSupportFragment.java', 'w')
356write_java_head(outfile, "OnboardingDemoFragment")
357for line in file:
358    line = line.replace('android.app.Fragment', 'android.support.v4.app.Fragment')
359    line = line.replace('import android.app.Activity', 'import android.support.v4.app.FragmentActivity')
360    line = line.replace('OnboardingDemoFragment', 'OnboardingDemoSupportFragment')
361    line = line.replace('OnboardingFragment', 'OnboardingSupportFragment')
362    line = line.replace('OnboardingActivity', 'OnboardingSupportActivity')
363    outfile.write(line)
364file.close()
365outfile.close()
366