def build(self): Logger.info('build FIRED') ##Build the shop screen and set up billing if platform == 'android': global billing self.billing = billing = oiabilling.Billing([ "net.roadtrip2001.kivychicago.noads", "net.roadtrip2001.kivychicago.sweden_flaggedcards", "net.roadtrip2001.kivychicago.usa_flaggedcards", "net.roadtrip2001.kivychicago.uk_flaggedcards" ], 'net.roadtrip2001.kivychicago.Config') #self.billing.setConsumable("fr.alborini.openiab4kivy.gas") ##Add all the screens if (self.billing.consumed.has_key( "net.roadtrip2001.kivychicago.noads") and self.billing.consumed["net.roadtrip2001.kivychicago.noads"] ): self.noAds = True else: self.noAds = False elif platform == "ios" and paidApp is True: self.noAds = True # THIS WILL CHANGE else: self.noAds = False sm = ScreenManager() sm.add_widget(Menu_Screen(name='menuScreen')) sm.add_widget(Shop_Screen(name='shopScreen')) sm.add_widget(Game_Over_Screen(name='gameOverScreen')) self.settings_cls = SettingsWithTabbedPanel self.use_kivy_settings = False ##shop data section sm.shopCard = None shopData = None if platform == 'android': if isfile(App.get_running_app().user_data_dir + '/shop.dat') is True: Logger.info('Reading in in shop.dat') try: f = open(App.get_running_app().user_data_dir + '/shop.dat') shopData = cPickle.load(f) f.close() except Exception, e: Logger.info( 'SHOPDATA LOAD FILE ERROR (file will be removed): ' + str(e)) remove(App.get_running_app().user_data_dir + '/shop.dat') if shopData is not None: for skuSwitchID in shopData: if 'flaggedcards' in skuSwitchID and shopData[ skuSwitchID] is True: flagname = skuSwitchID.split('.')[-1] flagname = flagname.split('_')[0] sm.shopCard = flagname break