Home | History | Annotate | Download | only in leanback
      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 
     17 import os
     18 import sys
     19 import re
     20 
     21 print "Generate v4 fragment related code for leanback"
     22 
     23 cls = ['Base', 'BaseRow', 'Browse', 'Details', 'Error', 'Headers',
     24       'PlaybackOverlay', 'Playback', 'Rows', 'Search', 'VerticalGrid', 'Branded',
     25       'GuidedStep', 'Onboarding', 'Video']
     26 
     27 for w in cls:
     28     print "copy {}Fragment to {}SupportFragment".format(w, w)
     29 
     30     file = open('src/android/support/v17/leanback/app/{}Fragment.java'.format(w), 'r')
     31     outfile = open('src/android/support/v17/leanback/app/{}SupportFragment.java'.format(w), 'w')
     32 
     33     outfile.write("// CHECKSTYLE:OFF Generated code\n")
     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         line = line.replace('IS_FRAMEWORK_FRAGMENT = true', 'IS_FRAMEWORK_FRAGMENT = false');
     38         for w in cls:
     39             line = line.replace('{}Fragment'.format(w), '{}SupportFragment'.format(w))
     40         line = line.replace('android.app.Fragment', 'android.support.v4.app.Fragment')
     41         line = line.replace('android.app.Activity', 'android.support.v4.app.FragmentActivity')
     42         line = line.replace('activity.getFragmentManager()', 'activity.getSupportFragmentManager()')
     43         line = line.replace('Activity activity', 'FragmentActivity activity')
     44         line = line.replace('(Activity', '(FragmentActivity')
     45         line = re.sub(r'FragmentUtil.getContext\(.*this\)', 'getContext()', line);
     46         outfile.write(line)
     47     file.close()
     48     outfile.close()
     49 
     50 print "copy VideoFragmentGlueHost to VideoSupportFragmentGlueHost".format(w, w)
     51 file = open('src/android/support/v17/leanback/app/VideoFragmentGlueHost.java'.format(w), 'r')
     52 outfile = open('src/android/support/v17/leanback/app/VideoSupportFragmentGlueHost.java'.format(w), 'w')
     53 
     54 outfile.write("// CHECKSTYLE:OFF Generated code\n")
     55 outfile.write("/* This file is auto-generated from {}VideoFragmentGlueHost.java.  DO NOT MODIFY. */\n\n".format(w))
     56 
     57 for line in file:
     58     line = line.replace('IS_FRAMEWORK_FRAGMENT = true', 'IS_FRAMEWORK_FRAGMENT = false');
     59     line = line.replace('VideoSupportFragmentGlueHost'.format(w), 'VideoSupportFragmentGlueHost'.format(w))
     60     line = line.replace('android.app.Fragment', 'android.support.v4.app.Fragment')
     61     line = line.replace('android.app.Activity', 'android.support.v4.app.FragmentActivity')
     62     line = line.replace('activity.getFragmentManager()', 'activity.getSupportFragmentManager()')
     63     line = line.replace('Activity activity', 'FragmentActivity activity')
     64     line = line.replace('VideoFragment', 'VideoSupportFragment')
     65     line = line.replace('PlaybackFragmentGlueHost', 'PlaybackSupportFragmentGlueHost')
     66     line = line.replace('(Activity', '(FragmentActivity')
     67     outfile.write(line)
     68 file.close()
     69 outfile.close()
     70 
     71 print "copy PlaybackFragmentGlueHost to PlaybackSupportFragmentGlueHost".format(w, w)
     72 file = open('src/android/support/v17/leanback/app/PlaybackFragmentGlueHost.java'.format(w), 'r')
     73 outfile = open('src/android/support/v17/leanback/app/PlaybackSupportFragmentGlueHost.java'.format(w), 'w')
     74 
     75 outfile.write("// CHECKSTYLE:OFF Generated code\n")
     76 outfile.write("/* This file is auto-generated from {}PlaybackFragmentGlueHost.java.  DO NOT MODIFY. */\n\n".format(w))
     77 
     78 for line in file:
     79     line = line.replace('IS_FRAMEWORK_FRAGMENT = true', 'IS_FRAMEWORK_FRAGMENT = false');
     80     line = line.replace('VideoSupportFragmentGlueHost'.format(w), 'VideoSupportFragmentGlueHost'.format(w))
     81     line = line.replace('android.app.Fragment', 'android.support.v4.app.Fragment')
     82     line = line.replace('android.app.Activity', 'android.support.v4.app.FragmentActivity')
     83     line = line.replace('activity.getFragmentManager()', 'activity.getSupportFragmentManager()')
     84     line = line.replace('Activity activity', 'FragmentActivity activity')
     85     line = line.replace('PlaybackFragment', 'PlaybackSupportFragment')
     86     line = line.replace('PlaybackFragmentGlueHost', 'PlaybackSupportFragmentGlueHost')
     87     line = line.replace('(Activity', '(FragmentActivity')
     88     outfile.write(line)
     89 file.close()
     90 outfile.close()
     91 
     92 print "copy DetailsFragmentBackgroundController to DetailsSupportFragmentBackgroundController".format(w, w)
     93 file = open('src/android/support/v17/leanback/app/DetailsFragmentBackgroundController.java'.format(w), 'r')
     94 outfile = open('src/android/support/v17/leanback/app/DetailsSupportFragmentBackgroundController.java'.format(w), 'w')
     95 
     96 outfile.write("// CHECKSTYLE:OFF Generated code\n")
     97 outfile.write("/* This file is auto-generated from {}DetailsFragmentBackgroundController.java.  DO NOT MODIFY. */\n\n".format(w))
     98 
     99 for line in file:
    100     line = re.sub(r'FragmentUtil.getContext\(mFragment\)', 'mFragment.getContext()', line);
    101     line = line.replace('VideoFragment', 'VideoSupportFragment')
    102     line = line.replace('DetailsFragment', 'DetailsSupportFragment')
    103     line = line.replace('RowsFragment', 'RowsSupportFragment')
    104     line = line.replace('VideoSupportFragmentGlueHost'.format(w), 'VideoSupportFragmentGlueHost'.format(w))
    105     line = line.replace('android.app.Fragment', 'android.support.v4.app.Fragment')
    106     outfile.write(line)
    107 file.close()
    108 outfile.close()
    109