Android Open Source - cicada Widget Screen






From Project

Back to project page cicada.

License

The source code is released under:

Apache License

If you think the Android project cicada listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

// Copyright (C) 2011 Cicada contributors
////w  ww .  j  a  v  a 2s  .co  m
// 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 org.cicadasong.cicada;

package org.cicadasong.cicada;

import java.util.Arrays;

import org.cicadasong.cicadalib.CicadaApp.AppType;

public class WidgetScreen {
  public static final AppDescription DESCRIPTION =
      new AppDescription(WidgetScreen.class.getPackage().getName(), "WIDGET_SCREEN",
          WidgetSetup.class.getName(), "Widget Screen", AppType.APP);
  
  public static final int NUM_WIDGETS = 3;
  
  private int BUFFER_LENGTH = (96 * (96 / NUM_WIDGETS)) / 8;
  private byte[] screenBuffer = new byte[96 * 96 / 8];
  private int[] sessionIds = new int[3];
  public AppDescription widgets[] = new AppDescription[] { null, null, null };
  public CicadaService.AppConnection widgetConnections[] =
      new CicadaService.AppConnection[] { null, null, null };
  
  public void putSessionId(int index, int id) {
    sessionIds[index] = id;
  }
  
  public void clearSessionIds() {
    sessionIds = new int[NUM_WIDGETS];
  }
  
  public boolean hasSessionId(int id) {
    for (int i = 0; i < sessionIds.length; i++) {
      if (id == sessionIds[i]) {
        return true;
      }
    }
    return false;
  }
  
  public void clearBuffer() {
    Arrays.fill(screenBuffer, (byte) 0);
  }
  
  /**
   * Updates the widget screen buffer using the widgetBuffer sent by a widget.
   * 
   * @param widgetBuffer the buffer sent by a widget
   * @param sessionId the sessionId of the sender; used to determine which part of the screen to
   *        update
   * @return the updated widget screen buffer
   */
  public byte[] updateScreenBuffer(byte[] widgetBuffer, int sessionId) {
    for (int i = 0; i < widgets.length; i++) {
      if ((widgets[i] != null) && (sessionId == sessionIds[i])) {
        System.arraycopy(widgetBuffer, 0, screenBuffer, i * BUFFER_LENGTH, BUFFER_LENGTH);
        break;
      }
    }
    
    return screenBuffer;
  }
}




Java Source Code List

com.hydraproductions.cicada.StopWatch.java
org.cicadasong.apollo.ApolloConfig.java
org.cicadasong.apollo.ApolloIntents.java
org.cicadasong.apollo.BitmapUtil.java
org.cicadasong.apollo.SimulatedDisplayView.java
org.cicadasong.cicada.AppDatabase.java
org.cicadasong.cicada.AppDescription.java
org.cicadasong.cicada.AppList.java
org.cicadasong.cicada.AppScanner.java
org.cicadasong.cicada.CicadaService.java
org.cicadasong.cicada.CicadaSettingsActivity.java
org.cicadasong.cicada.Cicada.java
org.cicadasong.cicada.DeviceService.java
org.cicadasong.cicada.HotkeySetupActivity.java
org.cicadasong.cicada.HotkeySetupEntry.java
org.cicadasong.cicada.MetaWatchConnection.java
org.cicadasong.cicada.NotificationRenderer.java
org.cicadasong.cicada.PackageMonitor.java
org.cicadasong.cicada.PackageUtil.java
org.cicadasong.cicada.PrefUtil.java
org.cicadasong.cicada.WidgetScreen.java
org.cicadasong.cicada.WidgetSetup.java
org.cicadasong.cicadalib.CicadaApp.java
org.cicadasong.cicadalib.CicadaIntents.java
org.cicadasong.cicadalib.CicadaNotificationManager.java
org.cicadasong.cicadalib.CicadaNotification.java
org.cicadasong.cicadalib.TextBlock.java
org.cicadasong.samples.bitly.Bitly.java
org.cicadasong.samples.digitalclock.DigitalClock.java
org.cicadasong.samples.hellocicada.HelloCicada.java
org.cicadasong.samples.nextbuses.NextBuses.java
org.cicadasong.samples.notificationdemo.NotificationDemo.java
org.cicadasong.samples.notifications.NotificationAccessibilityService.java
org.cicadasong.samples.notifications.Notifications.java
org.cicadasong.samples.quicktext.QuickTextSetup.java
org.cicadasong.samples.quicktext.QuickText.java
org.cicadasong.samples.smsnotifier.SMSBroadcastReceiver.java
org.cicadasong.samples.tubestatus.Preferences.java
org.cicadasong.samples.tubestatus.TubeStatusSettingsActivity.java
org.cicadasong.samples.tubestatus.TubeStatus.java
org.cicadasong.samples.webimageplayer.Preferences.java
org.cicadasong.samples.webimageplayer.WebImagePlayerSettingsActivity.java
org.cicadasong.samples.webimageplayer.WebImagePlayer.java