generatev4.py revision 1c3ce0fa10ec24e4edd5e5ea909b4d4357534b53
1#!/usr/bin/python
2
3# Copyright (C) 2014 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
22cls = ['Background', 'Base', 'BaseRow', 'Browse', 'Details', 'Error', 'Headers',
23      'PlaybackOverlay', 'Rows', 'Search', 'VerticalGrid', 'Branded', 'GuidedStep', 'Onboarding']
24
25for w in cls:
26    print "copy {}Fragment to {}SupportFragment".format(w, w)
27
28    file = open('src/android/support/v17/leanback/app/{}Fragment.java'.format(w), 'r')
29    outfile = open('src/android/support/v17/leanback/app/{}SupportFragment.java'.format(w), 'w')
30
31    outfile.write("/* This file is auto-generated from {}Fragment.java.  DO NOT MODIFY. */\n\n".format(w))
32
33    for line in file:
34        line = line.replace('IS_FRAMEWORK_FRAGMENT = true', 'IS_FRAMEWORK_FRAGMENT = false');
35        for w in cls:
36            line = line.replace('{}Fragment'.format(w), '{}SupportFragment'.format(w))
37        line = line.replace('android.app.Fragment', 'android.support.v4.app.Fragment')
38        line = line.replace('android.app.Activity', 'android.support.v4.app.FragmentActivity')
39        line = line.replace('activity.getFragmentManager()', 'activity.getSupportFragmentManager()')
40        line = line.replace('Activity activity', 'FragmentActivity activity')
41        line = line.replace('(Activity', '(FragmentActivity')
42        line = line.replace('MainFragmentAdapterFactory', 'MainSupportFragmentAdapterFactory');
43        outfile.write(line)
44    file.close()
45    outfile.close()
46
47file = open('src/android/support/v17/leanback/app/PlaybackControlGlue.java', 'r')
48outfile = open('src/android/support/v17/leanback/app/PlaybackControlSupportGlue.java', 'w')
49outfile.write("/* This file is auto-generated from PlaybackControlGlue.java.  DO NOT MODIFY. */\n\n")
50for line in file:
51    line = line.replace('PlaybackControlGlue', 'PlaybackControlSupportGlue');
52    line = line.replace('PlaybackOverlayFragment', 'PlaybackOverlaySupportFragment');
53    outfile.write(line)
54file.close()
55outfile.close()
56
57file = open('src/android/support/v17/leanback/app/RowsFragmentAdapter.java', 'r')
58outfile = open('src/android/support/v17/leanback/app/RowsSupportFragmentAdapter.java', 'w')
59
60outfile.write("/* This file is auto-generated from MainFragmentAdapterFactory.java.  DO NOT MODIFY. */\n\n")
61
62for line in file:
63    line = line.replace('RowsFragment', 'RowsSupportFragment')
64    line = line.replace('BrowseFragment', 'BrowseSupportFragment');
65    line = line.replace('RowsFragmentAdapter', 'RowsSupportFragmentAdapter');
66    line = line.replace('MainFragmentAdapterFactory', 'MainSupportFragmentAdapterFactory');
67    line = line.replace('android.app.Fragment', 'android.support.v4.app.Fragment')
68    line = line.replace('android.app.Activity', 'android.support.v4.app.FragmentActivity')
69    line = line.replace('activity.getFragmentManager()', 'activity.getSupportFragmentManager()')
70    line = line.replace('Activity activity', 'FragmentActivity activity')
71    line = line.replace('(Activity', '(FragmentActivity')
72    outfile.write(line)
73file.close()
74outfile.close()
75
76