31ce3c5fd0
-fix some menus -fixed bug in out transition curves -detect and remove file:/// in collada -remove multiscript for now -remove dependencies on mouse in OS, moved to Input -avoid fscache from screwing up (fix might make it slower, but it works) -funcref was missing, it's there now
117 lines
3.7 KiB
Java
117 lines
3.7 KiB
Java
/*
|
|
* Copyright (C) 2012 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.google.android.vending.expansion.downloader.impl;
|
|
|
|
import com.android.vending.expansion.downloader.R;
|
|
import com.google.android.vending.expansion.downloader.Helpers;
|
|
|
|
import android.app.Notification;
|
|
import android.app.PendingIntent;
|
|
import android.content.Context;
|
|
import android.graphics.BitmapFactory;
|
|
import android.view.View;
|
|
import android.widget.RemoteViews;
|
|
|
|
public class V3CustomNotification implements DownloadNotification.ICustomNotification {
|
|
|
|
CharSequence mTitle;
|
|
CharSequence mTicker;
|
|
int mIcon;
|
|
long mTotalBytes = -1;
|
|
long mCurrentBytes = -1;
|
|
long mTimeRemaining;
|
|
PendingIntent mPendingIntent;
|
|
Notification mNotification = new Notification();
|
|
|
|
@Override
|
|
public void setIcon(int icon) {
|
|
mIcon = icon;
|
|
}
|
|
|
|
@Override
|
|
public void setTitle(CharSequence title) {
|
|
mTitle = title;
|
|
}
|
|
|
|
@Override
|
|
public void setTotalBytes(long totalBytes) {
|
|
mTotalBytes = totalBytes;
|
|
}
|
|
|
|
@Override
|
|
public void setCurrentBytes(long currentBytes) {
|
|
mCurrentBytes = currentBytes;
|
|
}
|
|
|
|
@Override
|
|
public Notification updateNotification(Context c) {
|
|
Notification n = mNotification;
|
|
|
|
n.icon = mIcon;
|
|
|
|
n.flags |= Notification.FLAG_ONGOING_EVENT;
|
|
|
|
if (android.os.Build.VERSION.SDK_INT > 10) {
|
|
n.flags |= Notification.FLAG_ONLY_ALERT_ONCE; // only matters for
|
|
// Honeycomb
|
|
}
|
|
|
|
// Build the RemoteView object
|
|
RemoteViews expandedView = new RemoteViews(
|
|
c.getPackageName(),
|
|
R.layout.status_bar_ongoing_event_progress_bar);
|
|
|
|
expandedView.setTextViewText(R.id.title, mTitle);
|
|
// look at strings
|
|
expandedView.setViewVisibility(R.id.description, View.VISIBLE);
|
|
expandedView.setTextViewText(R.id.description,
|
|
Helpers.getDownloadProgressString(mCurrentBytes, mTotalBytes));
|
|
expandedView.setViewVisibility(R.id.progress_bar_frame, View.VISIBLE);
|
|
expandedView.setProgressBar(R.id.progress_bar,
|
|
(int) (mTotalBytes >> 8),
|
|
(int) (mCurrentBytes >> 8),
|
|
mTotalBytes <= 0);
|
|
expandedView.setViewVisibility(R.id.time_remaining, View.VISIBLE);
|
|
expandedView.setTextViewText(
|
|
R.id.time_remaining,
|
|
c.getString(R.string.time_remaining_notification,
|
|
Helpers.getTimeRemaining(mTimeRemaining)));
|
|
expandedView.setTextViewText(R.id.progress_text,
|
|
Helpers.getDownloadProgressPercent(mCurrentBytes, mTotalBytes));
|
|
expandedView.setImageViewResource(R.id.appIcon, mIcon);
|
|
n.contentView = expandedView;
|
|
n.contentIntent = mPendingIntent;
|
|
return n;
|
|
}
|
|
|
|
@Override
|
|
public void setPendingIntent(PendingIntent contentIntent) {
|
|
mPendingIntent = contentIntent;
|
|
}
|
|
|
|
@Override
|
|
public void setTicker(CharSequence ticker) {
|
|
mTicker = ticker;
|
|
}
|
|
|
|
@Override
|
|
public void setTimeRemaining(long timeRemaining) {
|
|
mTimeRemaining = timeRemaining;
|
|
}
|
|
|
|
}
|