blob: b7c98e366217971360fd903cd4be622059b6992f [file] [log] [blame]
/*
* Copyright (C) 2012 Google Inc.
* Licensed to 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.mail.browse;
import android.content.AsyncQueryHandler;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.util.AttributeSet;
import android.view.View;
import android.widget.LinearLayout;
import com.android.mail.R;
import com.android.mail.providers.Message;
import com.android.mail.providers.UIProvider;
import com.android.mail.utils.LogUtils;
import com.android.mail.utils.Utils;
public class MessageInviteView extends LinearLayout implements View.OnClickListener {
private Message mMessage;
private final Context mContext;
private InviteCommandHandler mCommandHandler = new InviteCommandHandler();
public MessageInviteView(Context c) {
this(c, null);
}
public MessageInviteView(Context c, AttributeSet attrs) {
super(c, attrs);
mContext = c;
}
@Override
protected void onFinishInflate() {
super.onFinishInflate();
findViewById(R.id.invite_calendar_view).setOnClickListener(this);
findViewById(R.id.accept).setOnClickListener(this);
findViewById(R.id.tentative).setOnClickListener(this);
findViewById(R.id.decline).setOnClickListener(this);
}
public void bind(Message message) {
mMessage = message;
}
@Override
public void onClick(View v) {
Integer command = null;
final int id = v.getId();
if (id == R.id.invite_calendar_view) {
if (!Utils.isEmpty(mMessage.eventIntentUri)) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(mMessage.eventIntentUri);
mContext.startActivity(intent);
}
} else if (id == R.id.accept) {
command = UIProvider.MessageOperations.RESPOND_ACCEPT;
} else if (id == R.id.tentative) {
command = UIProvider.MessageOperations.RESPOND_TENTATIVE;
} else if (id == R.id.decline) {
command = UIProvider.MessageOperations.RESPOND_DECLINE;
}
if (command != null) {
ContentValues params = new ContentValues();
LogUtils.w("UnifiedEmail", "SENDING INVITE COMMAND, VALUE=%s", command);
params.put(UIProvider.MessageOperations.RESPOND_COLUMN, command);
mCommandHandler.sendCommand(params);
}
}
private class InviteCommandHandler extends AsyncQueryHandler {
public InviteCommandHandler() {
super(getContext().getContentResolver());
}
public void sendCommand(ContentValues params) {
startUpdate(0, null, mMessage.uri, params, null, null);
}
}
}