// Copyright 2016 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// Package reverse implements an Android in Go
package reverse

import (
	"Java/android/app"
	"Java/android/app/Service"
	"Java/android/content"
	"Java/android/databinding/DataBindingUtil"
	"Java/android/os"
	sapp "Java/android/support/v7/app"
	rlayout "Java/go/reverse/R/layout"
	"Java/go/reverse/databinding/ActivityMainBinding"
	"log"
)

type MainActivity struct {
	sapp.AppCompatActivity
}

func (a *MainActivity) OnCreate1(this sapp.AppCompatActivity, b os.Bundle) {
	this.Super().OnCreate1(b)
	db := DataBindingUtil.SetContentView2(this, rlayout.Activity_main)
	mainBind := ActivityMainBinding.Cast(db)
	mainBind.SetAct(this)
}

func (a *MainActivity) GetLabel() string {
	return "Hello from Go!"
}

type MainService struct {
	app.Service
}

func (s *MainService) OnBind(i content.Intent) os.IBinder {
	return nil
}

func (s *MainService) OnStartCommand(this app.Service, i content.Intent, flags int32, startId int32) int32 {
	log.Println("OnStartCommand called", i.GetDataString())
	return Service.START_STICKY
}
