1255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu#!/usr/bin/python
2255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu
3255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu# Copyright (C) 2015 The Android Open Source Project
4255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu#
5255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu# Licensed under the Apache License, Version 2.0 (the "License");
6255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu# you may not use this file except in compliance with the License.
7255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu# You may obtain a copy of the License at
8255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu#
9255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu#      http://www.apache.org/licenses/LICENSE-2.0
10255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu#
11255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu# Unless required by applicable law or agreed to in writing, software
12255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu# distributed under the License is distributed on an "AS IS" BASIS,
13255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu# See the License for the specific language governing permissions and
15255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu# limitations under the License.
16255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu
17255e7911fa9ef664618b74bb9959e00479a9bec1Dake Guimport os
18255e7911fa9ef664618b74bb9959e00479a9bec1Dake Guimport sys
19255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu
20255e7911fa9ef664618b74bb9959e00479a9bec1Dake Guprint "Generate v4 fragment related code for leanback"
21255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu
22255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gufiles = ['BrowseTest']
23255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu
24255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gucls = ['BrowseTest', 'Background', 'Base', 'BaseRow', 'Browse', 'Details', 'Error', 'Headers',
25255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu      'PlaybackOverlay', 'Rows', 'Search', 'VerticalGrid', 'Branded']
26255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu
27255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gufor w in files:
28255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu    print "copy {}Fragment to {}SupportFragment".format(w, w)
29255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu
30255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu    file = open('src/android/support/v17/leanback/app/{}Fragment.java'.format(w), 'r')
31255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu    outfile = open('src/android/support/v17/leanback/app/{}SupportFragment.java'.format(w), 'w')
32255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu
33255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu    outfile.write("/* This file is auto-generated from {}Fragment.java.  DO NOT MODIFY. */\n\n".format(w))
34255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu
35255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu    for line in file:
36255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu        for w in cls:
37255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu            line = line.replace('{}Fragment'.format(w), '{}SupportFragment'.format(w))
38255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu        line = line.replace('android.app.Fragment', 'android.support.v4.app.Fragment')
39255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu        line = line.replace('android.app.Activity', 'android.support.v4.app.FragmentActivity')
40255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu        outfile.write(line)
41255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu    file.close()
42255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu    outfile.close()
43255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu
44255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gutestcls = ['Browse']
45255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu
46255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gufor w in testcls:
47255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu    print "copy {}FrgamentTest to {}SupportFragmentTest".format(w, w)
48255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu
49255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu    file = open('src/android/support/v17/leanback/app/{}FragmentTest.java'.format(w), 'r')
50255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu    outfile = open('src/android/support/v17/leanback/app/{}SupportFragmentTest.java'.format(w), 'w')
51255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu
52255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu    outfile.write("/* This file is auto-generated from {}FrgamentTest.java.  DO NOT MODIFY. */\n\n".format(w))
53255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu
54255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu    for line in file:
5510cc7d33634e8f516941f702caccbf5c3c4d7aafDake Gu        for w in cls:
5610cc7d33634e8f516941f702caccbf5c3c4d7aafDake Gu            line = line.replace('{}Fragment'.format(w), '{}SupportFragment'.format(w))
57255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu        for w in testcls:
58255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu            line = line.replace('{}FragmentTest'.format(w), '{}SupportFragmentTest'.format(w))
59255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu            line = line.replace('{}FragmentTestActivity'.format(w), '{}SupportFragmentTestActivity'.format(w))
60255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu            line = line.replace('{}TestFragment'.format(w), '{}TestSupportFragment'.format(w))
61255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu        outfile.write(line)
62255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu    file.close()
63255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu    outfile.close()
64255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu
65255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu
66255e7911fa9ef664618b74bb9959e00479a9bec1Dake Guprint "copy BrowseFragmentTestActivity to BrowseSupportFragmentTestActivity"
67255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gufile = open('src/android/support/v17/leanback/app/BrowseFragmentTestActivity.java', 'r')
68255e7911fa9ef664618b74bb9959e00479a9bec1Dake Guoutfile = open('src/android/support/v17/leanback/app/BrowseSupportFragmentTestActivity.java', 'w')
69255e7911fa9ef664618b74bb9959e00479a9bec1Dake Guoutfile.write("/* This file is auto-generated from BrowseFragmentTestActivity.java.  DO NOT MODIFY. */\n\n")
70255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gufor line in file:
71255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu    line = line.replace('BrowseTestFragment', 'BrowseTestSupportFragment')
72255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu    line = line.replace('BrowseFragmentTestActivity', 'BrowseSupportFragmentTestActivity')
73255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu    line = line.replace('android.app.Fragment', 'android.support.v4.app.Fragment')
74255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu    line = line.replace('android.app.Activity', 'android.support.v4.app.FragmentActivity')
75255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu    line = line.replace('extends Activity', 'extends FragmentActivity')
76255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu    line = line.replace('getFragmentManager', 'getSupportFragmentManager')
77255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu    outfile.write(line)
78255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gufile.close()
79255e7911fa9ef664618b74bb9959e00479a9bec1Dake Guoutfile.close()
80255e7911fa9ef664618b74bb9959e00479a9bec1Dake Gu
81