blob: afccaffd895aeb0656dc6f103ef4ba752c4654ae [file] [log] [blame]
/*
* Copyright (C) 2021 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.calendar.alerts
import android.app.ListActivity
import android.content.Intent
import android.os.Bundle
import android.view.View
import android.widget.AdapterView
import android.widget.AdapterView.OnItemClickListener
import android.widget.ArrayAdapter
import com.android.calendar.R
import com.android.calendar.Utils
import java.util.Arrays
/**
* Activity which displays when the user wants to email guests from notifications.
*
* This presents the user with list if quick responses to be populated in an email
* to minimize typing.
*
*/
class QuickResponseActivity : ListActivity(), OnItemClickListener {
private var mResponses: Array<String?>? = null
@Override
protected override fun onCreate(icicle: Bundle?) {
super.onCreate(icicle)
val intent: Intent? = getIntent()
if (intent == null) {
finish()
return
}
mEventId = intent?.getLongExtra(EXTRA_EVENT_ID, -1) as Long
if (mEventId == -1L) {
finish()
return
}
// Set listener
getListView().setOnItemClickListener(this@QuickResponseActivity)
// Populate responses
val responses: Array<String> = Utils.getQuickResponses(this)
Arrays.sort(responses)
// Add "Custom response..."
mResponses = arrayOfNulls(responses.size + 1)
var i: Int
i = 0
while (i < responses.size) {
mResponses!![i] = responses[i]
i++
}
mResponses!![i] = getResources().getString(R.string.quick_response_custom_msg)
setListAdapter(ArrayAdapter<String>(this, R.layout.quick_response_item,
mResponses as Array<String?>))
}
// implements OnItemClickListener
@Override
override fun onItemClick(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
var body: String? = null
if (mResponses != null && position < mResponses!!.size - 1) {
body = mResponses!![position]
}
// Start thread to query provider and send mail
QueryThread(mEventId, body).start()
}
private inner class QueryThread internal constructor(var mEventId: Long, var mBody: String?) :
Thread() {
@Override
override fun run() {
}
}
companion object {
private const val TAG = "QuickResponseActivity"
const val EXTRA_EVENT_ID = "eventId"
var mEventId: Long = 0
}
}