From b568f61d79921816e2b5006faf3b2ea73504ee2f Mon Sep 17 00:00:00 2001 From: Ahmed Saad Date: Thu, 26 Jun 2014 19:17:36 +0200 Subject: [PATCH 1/4] LCD release --- OneSheeld/AndroidManifest.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OneSheeld/AndroidManifest.xml b/OneSheeld/AndroidManifest.xml index ee1b17b68..a38f10cea 100644 --- a/OneSheeld/AndroidManifest.xml +++ b/OneSheeld/AndroidManifest.xml @@ -3,7 +3,7 @@ xmlns:tools="http://schemas.android.com/tools" package="com.integreight.onesheeld" android:versionCode="140626" - android:versionName="1.003" > + android:versionName="1.0.3" > @@ -119,7 +119,7 @@ Date: Mon, 30 Jun 2014 17:22:29 +0200 Subject: [PATCH 2/4] ShieldFragmentParent keeping Activity Instance --- OneSheeld/AndroidManifest.xml | 4 +- .../SelectedShieldsListFragment.java | 4 +- .../integreight/onesheeld/enums/UIShield.java | 4 +- .../shields/controller/LcdShieldPre.java | 212 ----------- .../shields/controller/LcdShieldd.java | 279 -------------- .../shields/fragments/LcdFragmentPre.java | 340 ------------------ .../fragments/MusicPlayerFragment.java | 2 +- .../onesheeld/utils/ShieldFragmentParent.java | 18 +- 8 files changed, 23 insertions(+), 840 deletions(-) delete mode 100644 OneSheeld/src/com/integreight/onesheeld/shields/controller/LcdShieldPre.java delete mode 100644 OneSheeld/src/com/integreight/onesheeld/shields/controller/LcdShieldd.java delete mode 100644 OneSheeld/src/com/integreight/onesheeld/shields/fragments/LcdFragmentPre.java diff --git a/OneSheeld/AndroidManifest.xml b/OneSheeld/AndroidManifest.xml index a38f10cea..16423c9e9 100644 --- a/OneSheeld/AndroidManifest.xml +++ b/OneSheeld/AndroidManifest.xml @@ -65,7 +65,7 @@ android:name="com.integreight.onesheeld.OneSheeldApplication" android:allowBackup="true" android:allowClearUserData="true" - android:debuggable="false" + android:debuggable="true" android:hardwareAccelerated="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" @@ -119,7 +119,7 @@ getShieldFragment(int position) { new KeypadFragment()); case LCD_SHIELD: return addToCreatedListAndReturn(UIShield.LCD_SHIELD, - new LcdFragmentPre()); + new LcdFragment()); case MAGNETOMETER_SHIELD: return addToCreatedListAndReturn(UIShield.MAGNETOMETER_SHIELD, new MagnetometerFragment()); diff --git a/OneSheeld/src/com/integreight/onesheeld/enums/UIShield.java b/OneSheeld/src/com/integreight/onesheeld/enums/UIShield.java index a65bd0b83..e45b0d33c 100644 --- a/OneSheeld/src/com/integreight/onesheeld/enums/UIShield.java +++ b/OneSheeld/src/com/integreight/onesheeld/enums/UIShield.java @@ -19,7 +19,7 @@ import com.integreight.onesheeld.shields.controller.GyroscopeShield; import com.integreight.onesheeld.shields.controller.KeyboardShield; import com.integreight.onesheeld.shields.controller.KeypadShield; -import com.integreight.onesheeld.shields.controller.LcdShieldd; +import com.integreight.onesheeld.shields.controller.LcdShield; import com.integreight.onesheeld.shields.controller.LedShield; import com.integreight.onesheeld.shields.controller.LightShield; import com.integreight.onesheeld.shields.controller.MagnetometerShield; @@ -58,7 +58,7 @@ public enum UIShield { (byte) 0x01, "Sliders", 0xffc0034c, R.drawable.shields_list_slider_symbol, false, SliderShield.class), LCD_SHIELD( (byte) 0x17, "LCD", 0xff99bd03, R.drawable.shields_list_lcd_symbol, - false, LcdShieldd.class, true), MAGNETOMETER_SHIELD((byte) 0x0A, + false, LcdShield.class, true), MAGNETOMETER_SHIELD((byte) 0x0A, "Magnetometer", 0xff40039f, R.drawable.shields_list_magnetometer_symbol, false, MagnetometerShield.class, 1), PUSHBUTTON_SHIELD((byte) 0x03, diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/controller/LcdShieldPre.java b/OneSheeld/src/com/integreight/onesheeld/shields/controller/LcdShieldPre.java deleted file mode 100644 index 400ed9d13..000000000 --- a/OneSheeld/src/com/integreight/onesheeld/shields/controller/LcdShieldPre.java +++ /dev/null @@ -1,212 +0,0 @@ -package com.integreight.onesheeld.shields.controller; - -import android.app.Activity; - -import com.integreight.firmatabluetooth.ShieldFrame; -import com.integreight.onesheeld.utils.ControllerParent; - -public class LcdShieldPre extends ControllerParent { - private static LcdEventHandler eventHandler; - // private Activity activity; - private static short rows = 2; - private static short columns = 16; - private static final byte LCD_COMMAND = (byte) 0x32; - - private short cursorXLocation = 0; - private short cursorYLocation = 0; - - private String[] lcdText; - private char[][] rawText; - - // Method ids - private static final byte PRINT = (byte) 0x01; - // private static final byte BEGIN = (byte) 0x02; - private static final byte CLEAR = (byte) 0x03; - private static final byte HOME = (byte) 0x04; - private static final byte NO_DISPLAY = (byte) 0x05; - private static final byte DISPLAY = (byte) 0x06; - // private static final byte NO_BLINK = (byte) 0x07; - // private static final byte BLINK = (byte) 0x08; - // private static final byte NO_CURSOR = (byte) 0x09; - // private static final byte CURSOR = (byte) 0x0A; - private static final byte SCROLL_DISPLAY_LEFT = (byte) 0x0B; - private static final byte SCROLL_DISPLAY_RIGHT = (byte) 0x0C; - private static final byte LEFT_TO_RIGHT = (byte) 0x0D; - private static final byte RIGHT_TO_LEFT = (byte) 0x0E; - // private static final byte CREATE_CHAR = (byte) 0x0F; - private static final byte SET_CURSOR = (byte) 0x10; - private static final byte WRITE = (byte) 0x11; - private static final byte NO_AUTO_SCROLL = (byte) 0x12; - private static final byte AUTO_SCROLL = (byte) 0x13; - - public String[] getLcdText() { - return lcdText; - } - - public LcdShieldPre() { - super(); - } - - public LcdShieldPre(Activity activity, String tag) { - super(activity, tag); - // this.activity = activity; - rawText = new char[rows][columns]; - lcdText = new String[rows]; - resetPins(); - } - - @Override - public ControllerParent setTag(String tag) { - rawText = new char[rows][columns]; - lcdText = new String[rows]; - resetPins(); - return super.setTag(tag); - } - - @Override - public void onUartReceive(byte[] data) { - if (data.length < 2) - return; - byte command = data[0]; - byte methodId = data[1]; - int n = data.length - 2; - byte[] newArray = new byte[n]; - System.arraycopy(data, 2, newArray, 0, n); - if (command == LCD_COMMAND) - processInput(methodId, newArray); - super.onUartReceive(data); - } - - public void setLcdEventHandler(LcdEventHandler eventHandler) { - LcdShieldPre.eventHandler = eventHandler; - CommitInstanceTotable(); - } - - public static interface LcdEventHandler { - void onTextChange(String[] text); - - void onLcdError(String error); - } - - private void processInput(byte methodId, byte[] data) { - switch (methodId) { - case CLEAR: - - break; - case HOME: - - break; - case NO_DISPLAY: - - break; - case DISPLAY: - - break; - - case SCROLL_DISPLAY_LEFT: - - break; - - case SCROLL_DISPLAY_RIGHT: - - break; - - case LEFT_TO_RIGHT: - - break; - - case RIGHT_TO_LEFT: - - break; - case SET_CURSOR: - _setCursor(data); - break; - case WRITE: - - break; - case PRINT: - _print(data); - break; - - case NO_AUTO_SCROLL: - - break; - - case AUTO_SCROLL: - - break; - - default: - break; - } - } - - private void _print(byte[] data) { - String temp = new String(data); - convertStringToRawText(temp); - for (int i = 0; i < lcdText.length; i++) { - lcdText[i] = new String(rawText[i], 0, 16); - } - if (eventHandler != null) - eventHandler.onTextChange(lcdText); - } - - private void _setCursor(byte[] data) { - if (data.length < 2) - return; - cursorYLocation = (short) (data[0] - 1); - cursorXLocation = (short) (data[1] - 1); - } - - private void convertStringToRawText(String text) { - int charPosition = 0; - for (short i = cursorXLocation; charPosition < text.length() - && i < columns; i++, charPosition++) { - rawText[cursorYLocation][i] = text.charAt(charPosition); - cursorXLocation = (short) (i + 1); - - } - CommitInstanceTotable(); - // if (charPosition < text.length()) { - // cursorYLocation = 1; - // cursorXLocation = 0; - // for (int i = cursorXLocation; charPosition < text.length() && i < - // COLUMNS; i++,charPosition++) { - // tempRawText[1][i] = text.charAt(charPosition); - // cursorXLocation = (short) i; - // } - // - // } - - } - - public void resetPins() { - cursorYLocation = 0; - cursorXLocation = 0; - for (int i = 0; i < rawText.length; i++) { - for (int j = 0; j < rawText[i].length; j++) { - rawText[i][j] = ' '; - } - } - - for (int i = 0; i < lcdText.length; i++) { - lcdText[i] = new String(rawText[i], 0, 16); - } - CommitInstanceTotable(); - // if (eventHandler != null) - // eventHandler.onTextChange(lcdText); - } - - @Override - public void onNewShieldFrameReceived(ShieldFrame frame) { - // TODO Auto-generated method stub - - } - - @Override - public void reset() { - // TODO Auto-generated method stub - - } - -} diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/controller/LcdShieldd.java b/OneSheeld/src/com/integreight/onesheeld/shields/controller/LcdShieldd.java deleted file mode 100644 index 112c0d1f5..000000000 --- a/OneSheeld/src/com/integreight/onesheeld/shields/controller/LcdShieldd.java +++ /dev/null @@ -1,279 +0,0 @@ -package com.integreight.onesheeld.shields.controller; - -import android.app.Activity; - -import com.integreight.firmatabluetooth.ShieldFrame; -import com.integreight.onesheeld.Log; -import com.integreight.onesheeld.enums.UIShield; -import com.integreight.onesheeld.utils.ControllerParent; - -public class LcdShieldd extends ControllerParent { - private LcdEventHandler eventHandler; - // private Activity activity; - public int rows = 2; - public int columns = 16; - public char[] chars; - public int currIndx = 0; - // Method ids - private static final byte PRINT = (byte) 0x11; - private static final byte BEGIN = (byte) 0x01; - private static final byte CLEAR = (byte) 0x02; - private static final byte HOME = (byte) 0x03; - // private static final byte NO_DISPLAY = (byte) 0x05; - // private static final byte DISPLAY = (byte) 0x06; - private static final byte NO_BLINK = (byte) 0x04; - private static final byte BLINK = (byte) 0x05; - private static final byte NO_CURSOR = (byte) 0x06; - private static final byte CURSOR = (byte) 0x07; - private static final byte SCROLL_DISPLAY_LEFT = (byte) 0x08; - private static final byte SCROLL_DISPLAY_RIGHT = (byte) 0x09; - private static final byte LEFT_TO_RIGHT = (byte) 0x0A; - private static final byte RIGHT_TO_LEFT = (byte) 0x0B; - // private static final byte CREATE_CHAR = (byte) 0x0F; - private static final byte SET_CURSOR = (byte) 0x0E; - private static final byte WRITE = (byte) 0x0F; - private static final byte AUTO_SCROLL = (byte) 0x0C; - private static final byte NO_AUTO_SCROLL = (byte) 0x0D; - public int lastScrollLeft = 0; - public boolean isBlinking = false; - private boolean isAutoScroll = false; - private boolean isLeftToRight = true; - - public LcdShieldd() { - super(); - } - - public LcdShieldd(Activity activity, String tag) { - super(activity, tag); - setChars(new char[rows * columns]); - } - - @Override - public ControllerParent setTag(String tag) { - setChars(new char[columns * rows]); - return super.setTag(tag); - } - - public void setLcdEventHandler(LcdEventHandler eventHandler) { - this.eventHandler = eventHandler; - CommitInstanceTotable(); - } - - public void write(char ch) { - if (currIndx > -1 && currIndx < chars.length) { - // if (isLeftToRight) { - if (!isAutoScroll) { - chars[currIndx] = ch; - changeCursor(isLeftToRight ? currIndx + 1 : currIndx - 1); - } else { - final char[] tmp = chars; - for (int i = 0; i < currIndx; i++) { - if (i + 1 < tmp.length && i + 1 > -1) - chars[i] = tmp[i + 1]; - } - if (currIndx - 1 > -1 && currIndx - 1 < chars.length) - chars[currIndx - 1] = ch; - } - // } else { - // if (!isAutoScroll) { - // chars[currIndx] = ch; - // changeCursor(currIndx - 1); - // } else { - // final char[] tmp = chars; - // for (int i = currIndx + 1; i < chars.length; i++) { - // if (i + 1 < tmp.length && i + 1 > -1) - // chars[i + 1] = tmp[i]; - // } - // if (currIndx + 1 > -1 && currIndx + 1 < chars.length) - // chars[currIndx + 1] = ch; - // } - // - // } - } - } - - public void changeCursor(int indx) { - if (!isAutoScroll && indx > -1 && indx < rows * columns) { - if (eventHandler != null) - eventHandler.noBlink(); - currIndx = indx; - } - } - - public synchronized void scrollDisplayLeft() { - lastScrollLeft = 1; - char[] tmp = new char[chars.length]; - for (int i = 0; i < tmp.length; i++) { - if (i + lastScrollLeft > -1 && i + lastScrollLeft < chars.length) { - tmp[i] = chars[i + lastScrollLeft]; - } - } - eventHandler.noBlink(); - changeCursor(currIndx - 1); - chars = tmp; - eventHandler.updateLCD(chars); - if (isBlinking) - eventHandler.blink(); - Log.d("LCD", (">>>>>>> Left " + lastScrollLeft)); - } - - public synchronized void scrollDisplayRight() { - lastScrollLeft = -1; - char[] tmp = new char[chars.length]; - for (int i = 0; i < tmp.length; i++) { - if (i + lastScrollLeft > -1 && i + lastScrollLeft < chars.length) { - tmp[i] = chars[i + lastScrollLeft]; - } - } - eventHandler.noBlink(); - changeCursor(currIndx + 1); - chars = tmp; - eventHandler.updateLCD(chars); - if (isBlinking) - eventHandler.blink(); - Log.d("LCD", (">>>>>>> Right " + lastScrollLeft)); - } - - public static interface LcdEventHandler { - public void updateLCD(char[] arrayToUpdate); - - public void blink(); - - public void noBlink(); - } - - private void processInput(ShieldFrame frame) { - switch (frame.getFunctionId()) { - case CLEAR: - if (eventHandler != null) - eventHandler.noBlink(); - lastScrollLeft = 0; - chars = new char[columns * rows]; - if (eventHandler != null) - eventHandler.updateLCD(chars); - changeCursor(0); - if (isBlinking && eventHandler != null) - eventHandler.blink(); - break; - case HOME: - if (eventHandler != null) - eventHandler.noBlink(); - changeCursor(0); - if (isBlinking && eventHandler != null) - eventHandler.blink(); - break; - case BLINK: - if (eventHandler != null) - eventHandler.blink(); - isBlinking = true; - break; - case NO_BLINK: - if (eventHandler != null) - eventHandler.noBlink(); - isBlinking = false; - break; - - case SCROLL_DISPLAY_LEFT: - scrollDisplayLeft(); - break; - - case SCROLL_DISPLAY_RIGHT: - scrollDisplayRight(); - break; - - case BEGIN: - // if (eventHandler != null) - // eventHandler.noBlink(); - // changeCursor(0); - // if (isBlinking && eventHandler != null) - // eventHandler.blink(); - break; - case SET_CURSOR: - if (eventHandler != null) - eventHandler.noBlink(); - int row = (int) frame.getArgument(0)[0]; - int col = (int) frame.getArgument(1)[0]; - changeCursor((row * columns) + col); - if (isBlinking && eventHandler != null) - eventHandler.blink(); - break; - case WRITE: - write(frame.getArgumentAsString(0).charAt(0)); - if (eventHandler != null) { - eventHandler.updateLCD(chars); - if (isBlinking) - eventHandler.blink(); - } - break; - case PRINT:// // - // eventHandler.noBlink(); - lastScrollLeft = 0; - // chars = new char[columns * rows]; - // eventHandler.updateLCD(chars); - // changeCursor(0); - // if (isBlinking) - // eventHandler.blink(); - // / - if (eventHandler != null) - eventHandler.noBlink(); - lastScrollLeft = 0; - String txt = frame.getArgumentAsString(0); - for (int i = 0; i < txt.length(); i++) { - write(txt.charAt(i)); - } - if (eventHandler != null) { - eventHandler.updateLCD(chars); - if (isBlinking) - eventHandler.blink(); - } - break; - - case CURSOR: - if (eventHandler != null) - eventHandler.blink(); - isBlinking = true; - break; - - case NO_CURSOR: - if (eventHandler != null) - eventHandler.noBlink(); - isBlinking = false; - break; - case AUTO_SCROLL: - isAutoScroll = true; - break; - case NO_AUTO_SCROLL: - isAutoScroll = false; - break; - case LEFT_TO_RIGHT: - isLeftToRight = true; - break; - case RIGHT_TO_LEFT: - isLeftToRight = false; - break; - default: - break; - } - } - - @Override - public void onNewShieldFrameReceived(ShieldFrame frame) { - if (frame.getShieldId() == UIShield.LCD_SHIELD.getId()) - processInput(frame); - } - - @Override - public void reset() { - // TODO Auto-generated method stub - - } - - public char[] getChars() { - return chars; - } - - public void setChars(char[] chars) { - this.chars = chars; - } - -} diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/LcdFragmentPre.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/LcdFragmentPre.java deleted file mode 100644 index 075b74e23..000000000 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/LcdFragmentPre.java +++ /dev/null @@ -1,340 +0,0 @@ -package com.integreight.onesheeld.shields.fragments; - -import android.graphics.Color; -import android.graphics.Typeface; -import android.os.Bundle; -import android.os.Handler; -import android.util.TypedValue; -import android.view.Gravity; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.view.animation.AnimationUtils; -import android.widget.LinearLayout; -import android.widget.RelativeLayout; -import android.widget.TextView; - -import com.integreight.onesheeld.R; -import com.integreight.onesheeld.shields.controller.LcdShieldd; -import com.integreight.onesheeld.shields.controller.LcdShieldd.LcdEventHandler; -import com.integreight.onesheeld.utils.ShieldFragmentParent; -import com.integreight.onesheeld.utils.customviews.RotatingTextView; - -public class LcdFragmentPre extends ShieldFragmentParent { - View v; - private boolean drawn = false; - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - // Inflate the layout for this fragment - if (v == null) { - v = inflater.inflate(R.layout.lcd_shield_fragment_layout, - container, false); - new Handler().postDelayed(new Runnable() { - - @Override - public void run() { - draw(0, 0, ((LcdShieldd) getApplication() - .getRunningShields().get(getControllerTag())).rows, - ((LcdShieldd) getApplication().getRunningShields() - .get(getControllerTag())).columns); - drawn = true; - } - }, 700); - } else - try { - ((ViewGroup) v.getParent()).removeView(v); - } catch (Exception e) { - // TODO: handle exception - } - return v; - } - - @Override - public void onStart() { - super.onStart(); - uiHandler = new Handler(); - ((LcdShieldd) getApplication().getRunningShields().get( - getControllerTag())).setLcdEventHandler(lcdEventHandler); - new Handler().postDelayed(new Runnable() { - - @Override - public void run() { - redraw(((LcdShieldd) getApplication().getRunningShields().get( - getControllerTag())).chars); - drawn = true; - } - }, 700); - } - - @Override - public void onStop() { - try { - clear(false, false); - drawn = false; - } catch (Exception e) { - } - super.onStop(); - } - - LinearLayout verticalContainer, firstRow, secondRow; - - @Override - public void onActivityCreated(Bundle savedInstanceState) { - verticalContainer = (LinearLayout) v - .findViewById(R.id.verticalContainer); - v.findViewById(R.id.bg).setBackgroundColor(Color.BLUE); - super.onActivityCreated(savedInstanceState); - } - - public void draw(int initRow, int initCol, int rowsEnd, int columnsEnd) { - float scale = getResources().getDisplayMetrics().density; - int height = (int) (30 * scale + .5f); - int cellMargine = (int) (scale + .5f); - verticalContainer.removeAllViews(); - Typeface tf = Typeface.createFromAsset(getActivity().getAssets(), - "lcd_font.ttf"); - for (int i = initRow; i < rowsEnd; i++) { - RelativeLayout rowCont = new RelativeLayout(getActivity()); - LinearLayout rowBG = new LinearLayout(getActivity()); - LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( - height, LinearLayout.LayoutParams.WRAP_CONTENT); - rowCont.setLayoutParams(params); - rowBG.setClickable(true); - rowCont.setClickable(true); - RelativeLayout.LayoutParams paramsCh = new RelativeLayout.LayoutParams( - height, RelativeLayout.LayoutParams.WRAP_CONTENT); - rowBG.setLayoutParams(paramsCh); - rowBG.setOrientation(LinearLayout.VERTICAL); - for (int j = initCol; j < columnsEnd; j++) { - RelativeLayout cellCont = new RelativeLayout(getActivity()); - LinearLayout.LayoutParams cellParams = new LinearLayout.LayoutParams( - height, LinearLayout.LayoutParams.MATCH_PARENT); - cellParams.weight = 1; - cellParams.bottomMargin = cellMargine; - cellParams.topMargin = cellMargine; - cellParams.leftMargin = cellMargine; - cellParams.rightMargin = cellMargine; - cellCont.setLayoutParams(cellParams); - RelativeLayout.LayoutParams childParams = new RelativeLayout.LayoutParams( - RelativeLayout.LayoutParams.MATCH_PARENT, height); - TextView bg = new TextView(getActivity()); - bg.setLayoutParams(childParams); - bg.setBackgroundColor(0x99000000); - RelativeLayout.LayoutParams curParams = new RelativeLayout.LayoutParams( - height / 10, height); - // curParams.topMargin = (int) (1 * scale + .5f); - // curParams.bottomMargin = (int) (1 * scale + .5f); - TextView cur = new TextView(getActivity()); - cur.setLayoutParams(curParams); - cur.setBackgroundColor(0xffffffff); - cur.setVisibility(View.GONE); - cellCont.addView(bg); - cellCont.addView(cur); - cellCont.setClickable(true); - rowBG.addView(cellCont); - } - LinearLayout rowTxt = new LinearLayout(getActivity()); - RelativeLayout.LayoutParams paramsCh2 = new RelativeLayout.LayoutParams( - height, RelativeLayout.LayoutParams.WRAP_CONTENT); - rowTxt.setLayoutParams(paramsCh2); - rowTxt.setOrientation(LinearLayout.VERTICAL); - for (int j = 0; j < columnsEnd; j++) { - RelativeLayout cellCont = new RelativeLayout(getActivity()); - RotatingTextView cell = new RotatingTextView(getActivity()); - cell.setTypeface(tf); - LinearLayout.LayoutParams cellParams = new LinearLayout.LayoutParams( - height, LinearLayout.LayoutParams.MATCH_PARENT); - cellParams.weight = 1; - cellParams.bottomMargin = cellMargine; - cellParams.topMargin = cellMargine; - cellParams.leftMargin = cellMargine; - cellParams.rightMargin = cellMargine; - cell.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 18); - cell.setGravity(Gravity.CENTER); - cell.setTextColor(Color.WHITE); - // cell.setText(((LcdShieldd) - // getApplication().getRunningShields() - // .get(getControllerTag())).chars[(i * columnsEnd) + j] - // + ""); - cell.setSingleLine(true); - cellCont.setLayoutParams(cellParams); - RelativeLayout.LayoutParams childParams = new RelativeLayout.LayoutParams( - RelativeLayout.LayoutParams.MATCH_PARENT, height); - cell.setLayoutParams(childParams); - cellCont.addView(cell); - cellCont.setClickable(true); - rowTxt.addView(cellCont); - } - rowCont.addView(rowBG); - rowCont.addView(rowTxt); - verticalContainer.setGravity(Gravity.CENTER); - verticalContainer.addView(rowCont); - } - } - - private synchronized ViewGroup getCellContainerBG(int curIndx) { - int row = curIndx >= ((LcdShieldd) getApplication().getRunningShields() - .get(getControllerTag())).columns ? 1 : 0; - int col = curIndx >= ((LcdShieldd) getApplication().getRunningShields() - .get(getControllerTag())).columns ? curIndx - - ((LcdShieldd) getApplication().getRunningShields().get( - getControllerTag())).columns : curIndx; - return ((ViewGroup) ((ViewGroup) ((ViewGroup) verticalContainer - .getChildAt(((LcdShieldd) getApplication().getRunningShields() - .get(getControllerTag())).rows - row - 1)) - .getChildAt(0)).getChildAt(col)); - } - - public synchronized void noBlinkCell() { - for (int i = 0; i < ((LcdShieldd) getApplication().getRunningShields() - .get(getControllerTag())).rows - * ((LcdShieldd) getApplication().getRunningShields().get( - getControllerTag())).columns; i++) { - final int currIndx = i; - if (currIndx > -1 - && currIndx < (((LcdShieldd) getApplication() - .getRunningShields().get(getControllerTag())).columns * ((LcdShieldd) getApplication() - .getRunningShields().get(getControllerTag())).rows)) { - getCellContainerBG(currIndx).getChildAt(1).startAnimation( - AnimationUtils.loadAnimation(getActivity(), - R.anim.no_blink_cell)); - getCellContainerBG(currIndx).getChildAt(1).setVisibility( - View.INVISIBLE); - } - } - } - - public synchronized void blinkCell() { - final int currIndx = ((LcdShieldd) getApplication().getRunningShields() - .get(getControllerTag())).currIndx; - if (currIndx > -1 - && currIndx < ((LcdShieldd) getApplication() - .getRunningShields().get(getControllerTag())).columns - * ((LcdShieldd) getApplication().getRunningShields() - .get(getControllerTag())).rows) { - getCellContainerBG(currIndx).getChildAt(1).setVisibility( - View.VISIBLE); - getCellContainerBG(currIndx).getChildAt(1).startAnimation( - AnimationUtils.loadAnimation(getActivity(), - R.anim.blink_cell)); - } - } - - public void noBlinkCellContainer() { - getCellContainerBG( - ((LcdShieldd) getApplication().getRunningShields().get( - getControllerTag())).currIndx).startAnimation( - AnimationUtils.loadAnimation(getActivity(), - R.anim.no_blink_cell)); - } - - public void blinkCellContainer() { - getCellContainerBG( - ((LcdShieldd) getApplication().getRunningShields().get( - getControllerTag())).currIndx).startAnimation( - AnimationUtils.loadAnimation(getActivity(), R.anim.blink_cell)); - } - - public synchronized void clear(boolean changeCursor, boolean clearView) { - for (int i = 0; i < ((LcdShieldd) getApplication().getRunningShields() - .get(getControllerTag())).rows; i++) { - LinearLayout rowTxt = (LinearLayout) ((ViewGroup) verticalContainer - .getChildAt(((LcdShieldd) getApplication() - .getRunningShields().get(getControllerTag())).rows - - i - 1)).getChildAt(1); - for (int j = 0; j < rowTxt.getChildCount(); j++) { - ((RotatingTextView) ((ViewGroup) rowTxt.getChildAt(j)) - .getChildAt(0)).setText(""); - } - } - } - - public void blinkLCD() { - v.findViewById(R.id.bg).startAnimation( - AnimationUtils.loadAnimation(getActivity(), - R.anim.blink_anim_bg)); - } - - public void noBlinkLCD() { - v.findViewById(R.id.bg).startAnimation( - AnimationUtils.loadAnimation(getActivity(), R.anim.no_anim_bg)); - } - - private synchronized void redraw(char[] arr) { - for (int i = 0; i < ((LcdShieldd) getApplication().getRunningShields() - .get(getControllerTag())).rows; i++) { - LinearLayout rowTxt = (LinearLayout) ((ViewGroup) verticalContainer - .getChildAt(((LcdShieldd) getApplication() - .getRunningShields().get(getControllerTag())).rows - - i - 1)).getChildAt(1); - for (int j = 0; j < rowTxt.getChildCount(); j++) { - ((RotatingTextView) ((ViewGroup) rowTxt.getChildAt(j)) - .getChildAt(0)).startAnimation(AnimationUtils - .loadAnimation(getActivity(), R.anim.rotate_lcd)); - ((RotatingTextView) ((ViewGroup) rowTxt.getChildAt(j)) - .getChildAt(0)) - .setText(arr[(i * ((LcdShieldd) getApplication() - .getRunningShields().get(getControllerTag())).columns) - + j] - + ""); - } - } - } - - private LcdEventHandler lcdEventHandler = new LcdEventHandler() { - - @Override - public void updateLCD(final char[] arrayToUpdate) { - if (canChangeUI() && drawn) - uiHandler.post(new Runnable() { - - @Override - public void run() { - redraw(arrayToUpdate); - } - }); - - } - - @Override - public void blink() { - if (canChangeUI() && drawn) - uiHandler.post(new Runnable() { - - @Override - public void run() { - blinkCell(); - } - }); - } - - @Override - public void noBlink() { - if (canChangeUI() && drawn) - uiHandler.post(new Runnable() { - - @Override - public void run() { - noBlinkCell(); - } - }); - } - - }; - - private void initializeFirmata() { - if ((getApplication().getRunningShields().get(getControllerTag())) == null) - getApplication().getRunningShields().put(getControllerTag(), - new LcdShieldd(getActivity(), getControllerTag())); - ((LcdShieldd) getApplication().getRunningShields().get( - getControllerTag())).setLcdEventHandler(lcdEventHandler); - } - - @Override - public void doOnServiceConnected() { - initializeFirmata(); - } - -} diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/MusicPlayerFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/MusicPlayerFragment.java index 9077a629f..fafb22567 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/MusicPlayerFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/MusicPlayerFragment.java @@ -89,7 +89,7 @@ public void onResume() { getControllerTag())).setEventHandler(eventHandler); control = (MusicShield) getApplication().getRunningShields().get( getControllerTag()); - if (control.mediaPlayer != null) { + if (control.mediaPlayer != null && control.mediaDuration > 0) { eventHandler.seekTo(control.mediaPlayer.getCurrentPosition() * 100 / control.mediaDuration); eventHandler.setMusicName(control.musicFileName); diff --git a/OneSheeld/src/com/integreight/onesheeld/utils/ShieldFragmentParent.java b/OneSheeld/src/com/integreight/onesheeld/utils/ShieldFragmentParent.java index 474864483..46e18061b 100644 --- a/OneSheeld/src/com/integreight/onesheeld/utils/ShieldFragmentParent.java +++ b/OneSheeld/src/com/integreight/onesheeld/utils/ShieldFragmentParent.java @@ -1,5 +1,6 @@ package com.integreight.onesheeld.utils; +import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.support.v4.app.Fragment; @@ -27,13 +28,26 @@ public abstract class ShieldFragmentParent> public boolean hasSettings = false; public Handler uiHandler = new Handler(); public String shieldName = ""; + private MainActivity activity; + + @Override + public void onAttach(Activity activity) { + this.activity = (MainActivity) activity; + super.onAttach(activity); + } + + @Override + public void onDetach() { + // activity = null; + super.onDetach(); + } public MainActivity getAppActivity() { - return (MainActivity) super.getActivity(); + return activity; } public OneSheeldApplication getApplication() { - return getAppActivity().getThisApplication(); + return activity.getThisApplication(); } @Override From d30a02557a3819b4d95f00d576bf3d8ed674fa3f Mon Sep 17 00:00:00 2001 From: Ahmed Saad Date: Tue, 1 Jul 2014 14:56:41 +0200 Subject: [PATCH 3/4] using activity global instance instead of invoking getActivity method for all Shields fragments --- .../SelectedShieldsListFragment.java | 22 ++- .../onesheeld/appFragments/SheeldsList.java | 143 ++++++++---------- .../appFragments/ShieldsOperations.java | 103 ++++++------- .../fragments/AccelerometerFragment.java | 2 +- .../shields/fragments/BuzzerFragment.java | 4 +- .../shields/fragments/CameraFragment.java | 6 +- .../shields/fragments/ClockFragment.java | 2 +- .../shields/fragments/EmailFragment.java | 8 +- .../shields/fragments/FacebookFragment.java | 16 +- .../shields/fragments/FoursquareFragment.java | 4 +- .../shields/fragments/GamepadFragment.java | 2 +- .../shields/fragments/GpsFragment.java | 2 +- .../shields/fragments/GravityFragment.java | 4 +- .../shields/fragments/GyroscopeFragment.java | 4 +- .../shields/fragments/KeyboardFragment.java | 10 +- .../shields/fragments/KeypadFragment.java | 2 +- .../shields/fragments/LedFragment.java | 2 +- .../shields/fragments/LightFragment.java | 4 +- .../fragments/MagnetometerFragment.java | 4 +- .../shields/fragments/MicFragment.java | 2 +- .../fragments/MusicPlayerFragment.java | 4 +- .../fragments/NotificationFragment.java | 2 +- .../fragments/OrientationFragment.java | 4 +- .../shields/fragments/PhoneFragment.java | 6 +- .../shields/fragments/PressureFragment.java | 4 +- .../shields/fragments/ProximityFragment.java | 6 +- .../shields/fragments/PushButtonFragment.java | 4 +- .../fragments/SevenSegmentFragment.java | 2 +- .../shields/fragments/SkypeFragment.java | 11 +- .../shields/fragments/SliderFragment.java | 4 +- .../shields/fragments/SmsFragment.java | 10 +- .../fragments/TemperatureFragment.java | 4 +- .../fragments/ToggleButtonFragment.java | 2 +- .../shields/fragments/TwitterFragment.java | 10 +- .../onesheeld/utils/ShieldFragmentParent.java | 15 +- 35 files changed, 210 insertions(+), 224 deletions(-) diff --git a/OneSheeld/src/com/integreight/onesheeld/appFragments/SelectedShieldsListFragment.java b/OneSheeld/src/com/integreight/onesheeld/appFragments/SelectedShieldsListFragment.java index f24aa3abe..0a52e1000 100644 --- a/OneSheeld/src/com/integreight/onesheeld/appFragments/SelectedShieldsListFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/appFragments/SelectedShieldsListFragment.java @@ -60,12 +60,19 @@ public class SelectedShieldsListFragment extends ListFragment { private static SelectedShieldsListAdapter UIShieldAdapter; Map> creadtedShields = new HashMap>(); + private MainActivity activity; public static SelectedShieldsListFragment newInstance(Activity activity) { UIShieldAdapter = new SelectedShieldsListAdapter(activity); return new SelectedShieldsListFragment(); } + @Override + public void onAttach(Activity activity) { + this.activity = (MainActivity) activity; + super.onAttach(activity); + } + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { @@ -212,8 +219,8 @@ public void onViewCreated(View view, Bundle savedInstanceState) { @Override public boolean onTouch(View v, MotionEvent event) { - return !((AppSlidingLeftMenu) getActivity().findViewById( - R.id.sliding_pane_layout)).isOpen(); + return !((AppSlidingLeftMenu) activity + .findViewById(R.id.sliding_pane_layout)).isOpen(); } }); super.onViewCreated(view, savedInstanceState); @@ -222,7 +229,7 @@ public boolean onTouch(View v, MotionEvent event) { @Override public void onListItemClick(ListView lv, View v, int position, long id) { ShieldFragmentParent newContent = getShieldFragment(position); - // getActivity().setTitle( + // activity.setTitle( // UIShieldAdapter.getItem(position).getName() + " Shield"); if (newContent != null) switchFragment(newContent); @@ -232,15 +239,14 @@ private void switchFragment(final ShieldFragmentParent fragment) { getListView().post(new Runnable() { @Override public void run() { - ((MainActivity) getActivity()).replaceCurrentFragment( - R.id.shieldsContainerFrame, fragment, - fragment.getControllerTag(), false, false); + activity.replaceCurrentFragment(R.id.shieldsContainerFrame, + fragment, fragment.getControllerTag(), false, false); try { new Handler().post(new Runnable() { @Override public void run() { - TextView shieldName = (OneShieldTextView) getActivity() + TextView shieldName = (OneShieldTextView) activity .findViewById(R.id.shieldName); shieldName.setVisibility(fragment.shieldName .equalsIgnoreCase(UIShield.SEVENSEGMENT_SHIELD @@ -251,7 +257,7 @@ public void run() { }); } catch (Exception e) { } - ((MainActivity) getActivity()).closeMenu(); + activity.closeMenu(); } }); } diff --git a/OneSheeld/src/com/integreight/onesheeld/appFragments/SheeldsList.java b/OneSheeld/src/com/integreight/onesheeld/appFragments/SheeldsList.java index a6a57c140..5ef977028 100644 --- a/OneSheeld/src/com/integreight/onesheeld/appFragments/SheeldsList.java +++ b/OneSheeld/src/com/integreight/onesheeld/appFragments/SheeldsList.java @@ -51,7 +51,7 @@ public class SheeldsList extends Fragment { private ShieldsListAdapter adapter; OneShieldEditText searchBox; private static final String TAG = "ShieldsList"; - + MainActivity activity; public static final int REQUEST_CONNECT_DEVICE = 1; public static final int REQUEST_ENABLE_BT = 3; @@ -69,7 +69,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, if (v == null) { QuickReturnHeaderHelper helper = new QuickReturnHeaderHelper( - getActivity(), R.layout.app_sheelds_list, + activity, R.layout.app_sheelds_list, R.layout.shields_list_search_area); v = helper.createView(); mListView = (ListView) v.findViewById(android.R.id.list); @@ -89,8 +89,8 @@ public void onStop() { @Override public void run() { - if (getActivity() != null && searchBox != null) { - InputMethodManager imm = (InputMethodManager) getActivity() + if (activity != null && searchBox != null) { + InputMethodManager imm = (InputMethodManager) activity .getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(searchBox.getWindowToken(), 0); } @@ -101,21 +101,21 @@ public void run() { @Override public void onAttach(Activity activity) { - // TODO Auto-generated method stub + this.activity = (MainActivity) activity; super.onAttach(activity); } @Override public void onResume() { MainActivity.currentShieldTag = null; - ((MainActivity) getActivity()).disableMenu(); + activity.disableMenu(); new Handler().postDelayed(new Runnable() { @Override public void run() { - if (getActivity() != null - && getActivity().getSupportFragmentManager() != null) { - getActivity().findViewById(R.id.getAvailableDevices) + if (activity != null + && activity.getSupportFragmentManager() != null) { + activity.findViewById(R.id.getAvailableDevices) .setOnClickListener(new View.OnClickListener() { @Override @@ -123,17 +123,16 @@ public void onClick(View v) { launchShieldsOperationActivity(); } }); - List frags = getActivity() - .getSupportFragmentManager().getFragments(); + List frags = activity.getSupportFragmentManager() + .getFragments(); for (Fragment frag : frags) { if (frag != null && !frag.getClass().getName() .equals(SheeldsList.class.getName())) { - if (getActivity() != null - && getActivity() != null - && getActivity() - .getSupportFragmentManager() != null) { - FragmentTransaction ft = getActivity() + if (activity != null + && activity != null + && activity.getSupportFragmentManager() != null) { + FragmentTransaction ft = activity .getSupportFragmentManager() .beginTransaction(); frag.onDestroy(); @@ -145,10 +144,10 @@ && getActivity() } } }, 500); - ((ViewGroup) getActivity().findViewById(R.id.getAvailableDevices)) + ((ViewGroup) activity.findViewById(R.id.getAvailableDevices)) .getChildAt(1).setBackgroundResource( R.drawable.shields_list_shields_operation_button); - ((ViewGroup) getActivity().findViewById(R.id.cancelConnection)) + ((ViewGroup) activity.findViewById(R.id.cancelConnection)) .getChildAt(1).setBackgroundResource( R.drawable.bluetooth_disconnect_button); new Handler().postDelayed(new Runnable() { @@ -156,44 +155,39 @@ && getActivity() @Override public void run() { // TODO Auto-generated method stub - if (getActivity() != null - && getActivity().findViewById(R.id.cancelConnection) != null) - getActivity().findViewById(R.id.cancelConnection) + if (activity != null + && activity.findViewById(R.id.cancelConnection) != null) + activity.findViewById(R.id.cancelConnection) .setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - if (getActivity() - .getSupportFragmentManager() + if (activity.getSupportFragmentManager() .getBackStackEntryCount() > 1) { - getActivity() - .getSupportFragmentManager() + activity.getSupportFragmentManager() .popBackStack(); - getActivity() - .getSupportFragmentManager() + activity.getSupportFragmentManager() .executePendingTransactions(); } - ((MainActivity) getActivity()) - .stopService(); + activity.stopService(); if (!ArduinoConnectivityPopup.isOpened) { ArduinoConnectivityPopup.isOpened = true; - new ArduinoConnectivityPopup( - getActivity()).show(); + new ArduinoConnectivityPopup(activity) + .show(); } } }); } }, 1000); - ((MainActivity) getActivity()).getOnConnectionLostHandler().canInvokeOnCloseConnection = true; - ((OneSheeldApplication) getActivity().getApplication()) + activity.getOnConnectionLostHandler().canInvokeOnCloseConnection = true; + ((OneSheeldApplication) activity.getApplication()) .setArduinoFirmataEventHandler(sheeldsFirmataHandler); - if (((OneSheeldApplication) getActivity().getApplication()) - .getAppFirmata() == null - || (((OneSheeldApplication) getActivity().getApplication()) - .getAppFirmata() != null && !((OneSheeldApplication) getActivity() + if (((OneSheeldApplication) activity.getApplication()).getAppFirmata() == null + || (((OneSheeldApplication) activity.getApplication()) + .getAppFirmata() != null && !((OneSheeldApplication) activity .getApplication()).getAppFirmata().isOpen())) { if (!ArduinoConnectivityPopup.isOpened) - new ArduinoConnectivityPopup(getActivity()).show(); + new ArduinoConnectivityPopup(activity).show(); } Crashlytics.setString("Current View", "Shields List"); super.onResume(); @@ -218,7 +212,7 @@ public void onActivityCreated(Bundle savedInstanceState) { private void initView() { // mListView.addHeaderView(mHeader); shieldsUIList = UIShield.valuesFiltered(); - adapter = new ShieldsListAdapter(getActivity()); + adapter = new ShieldsListAdapter(activity); mListView.setAdapter(adapter); mListView.setSelection(1); mListView.setCacheColorHint(Color.TRANSPARENT); @@ -232,7 +226,7 @@ private void initView() { @Override public void onClick(View arg0) { - InputMethodManager imm = (InputMethodManager) getActivity() + InputMethodManager imm = (InputMethodManager) activity .getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(searchBox.getWindowToken(), 0); @@ -249,7 +243,7 @@ public void onClick(View arg0) { @Override public void onClick(View arg0) { - InputMethodManager imm = (InputMethodManager) getActivity() + InputMethodManager imm = (InputMethodManager) activity .getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(searchBox.getWindowToken(), 0); @@ -266,7 +260,7 @@ public void onClick(View arg0) { @Override public void onClick(View arg0) { - InputMethodManager imm = (InputMethodManager) getActivity() + InputMethodManager imm = (InputMethodManager) activity .getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(searchBox.getWindowToken(), 0); @@ -277,7 +271,7 @@ public void onClick(View arg0) { @Override public boolean onTouch(View v, MotionEvent event) { - InputMethodManager imm = (InputMethodManager) getActivity() + InputMethodManager imm = (InputMethodManager) activity .getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(searchBox.getWindowToken(), 0); return false; @@ -287,16 +281,15 @@ public boolean onTouch(View v, MotionEvent event) { private void launchShieldsOperationActivity() { if (!isAnyShieldsSelected()) { - Toast.makeText(getActivity(), "Select at least 1 shield", + Toast.makeText(activity, "Select at least 1 shield", Toast.LENGTH_LONG).show(); return; } else { - ((MainActivity) getActivity()).replaceCurrentFragment( - R.id.appTransitionsContainer, + activity.replaceCurrentFragment(R.id.appTransitionsContainer, ShieldsOperations.getInstance(), ShieldsOperations.class.getName(), true, true); - getActivity().findViewById(R.id.getAvailableDevices) - .setOnClickListener(new View.OnClickListener() { + activity.findViewById(R.id.getAvailableDevices).setOnClickListener( + new View.OnClickListener() { @Override public void onClick(View v) { @@ -313,21 +306,20 @@ public void onClick(View v) { public void onError(String errorMessage) { UIShield.setConnected(false); adapter.notifyDataSetChanged(); - if (getActivity().getSupportFragmentManager() - .getBackStackEntryCount() > 1) { - getActivity().getSupportFragmentManager().popBackStack();// ("operations",FragmentManager.POP_BACK_STACK_INCLUSIVE); - getActivity().getSupportFragmentManager() + if (activity.getSupportFragmentManager().getBackStackEntryCount() > 1) { + activity.getSupportFragmentManager().popBackStack();// ("operations",FragmentManager.POP_BACK_STACK_INCLUSIVE); + activity.getSupportFragmentManager() .executePendingTransactions(); } if (!ArduinoConnectivityPopup.isOpened) - new ArduinoConnectivityPopup(getActivity()).show(); + new ArduinoConnectivityPopup(activity).show(); } @Override public void onConnect() { Log.e(TAG, "- ARDUINO CONNECTED -"); if (isOneSheeldServiceRunning()) { - ((OneSheeldApplication) getActivity().getApplication()) + ((OneSheeldApplication) activity.getApplication()) .getGaTracker().set(Fields.SESSION_CONTROL, "start"); if (adapter != null) adapter.applyToControllerTable(); @@ -336,17 +328,16 @@ public void onConnect() { @Override public void onClose(boolean closedManually) { - if (getActivity() != null) { - ((OneSheeldApplication) getActivity().getApplication()) + if (activity != null) { + ((OneSheeldApplication) activity.getApplication()) .getGaTracker().set(Fields.SESSION_CONTROL, "end"); - ((MainActivity) getActivity()).getOnConnectionLostHandler().connectionLost = true; - if (((MainActivity) getActivity()).getOnConnectionLostHandler().canInvokeOnCloseConnection - || ((MainActivity) getActivity()).isForground) - ((MainActivity) getActivity()).getOnConnectionLostHandler() - .sendEmptyMessage(0); + activity.getOnConnectionLostHandler().connectionLost = true; + if (activity.getOnConnectionLostHandler().canInvokeOnCloseConnection + || activity.isForground) + activity.getOnConnectionLostHandler().sendEmptyMessage(0); else { - List frags = getActivity() - .getSupportFragmentManager().getFragments(); + List frags = activity.getSupportFragmentManager() + .getFragments(); for (Fragment frag : frags) { if (frag != null && !frag.getClass().getName() @@ -355,7 +346,7 @@ public void onClose(boolean closedManually) { .getName() .equals(ShieldsOperations.class .getName())) { - FragmentTransaction ft = getActivity() + FragmentTransaction ft = activity .getSupportFragmentManager() .beginTransaction(); ft.setCustomAnimations(0, 0, 0, 0); @@ -365,13 +356,13 @@ public void onClose(boolean closedManually) { } } } - Enumeration enumKey = ((OneSheeldApplication) getActivity() + Enumeration enumKey = ((OneSheeldApplication) activity .getApplication()).getRunningShields().keys(); while (enumKey.hasMoreElements()) { String key = enumKey.nextElement(); - ((OneSheeldApplication) getActivity().getApplication()) + ((OneSheeldApplication) activity.getApplication()) .getRunningShields().get(key).resetThis(); - ((OneSheeldApplication) getActivity().getApplication()) + ((OneSheeldApplication) activity.getApplication()) .getRunningShields().remove(key); } } @@ -394,17 +385,16 @@ public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.open_bootloader_popup: if (!OneSheeldVersionInstallerPopupTesting.isOpened) - new FirmwareUpdatingPopup((MainActivity) getActivity(), false) + new FirmwareUpdatingPopup((MainActivity) activity, false) .show(); return true; case R.id.action_settings: - ((OneSheeldApplication) getActivity().getApplication()) + ((OneSheeldApplication) activity.getApplication()) .setLastConnectedDevice(null); return true; case R.id.appTutorial: - getActivity().startActivity( - new Intent(getActivity(), TutorialPopup.class).putExtra( - "isMenu", true)); + activity.startActivity(new Intent(activity, TutorialPopup.class) + .putExtra("isMenu", true)); return true; } @@ -412,8 +402,8 @@ public boolean onOptionsItemSelected(MenuItem item) { } private boolean isOneSheeldServiceRunning() { - if (getActivity() != null) { - ActivityManager manager = (ActivityManager) getActivity() + if (activity != null) { + ActivityManager manager = (ActivityManager) activity .getSystemService(Context.ACTIVITY_SERVICE); for (RunningServiceInfo service : manager .getRunningServices(Integer.MAX_VALUE)) { @@ -428,7 +418,7 @@ private boolean isOneSheeldServiceRunning() { private boolean isAnyShieldsSelected() { int i = 0; - OneSheeldApplication app = (OneSheeldApplication) getActivity() + OneSheeldApplication app = (OneSheeldApplication) activity .getApplication(); // app.setRunningSheelds(new Hashtable>()); for (UIShield shield : shieldsUIList) { @@ -449,8 +439,7 @@ private boolean isAnyShieldsSelected() { "isAnyShieldsSelected()::IllegalAccessException", e); } - type.setActivity((MainActivity) getActivity()).setTag( - shield.name()); + type.setActivity(activity).setTag(shield.name()); } i++; } diff --git a/OneSheeld/src/com/integreight/onesheeld/appFragments/ShieldsOperations.java b/OneSheeld/src/com/integreight/onesheeld/appFragments/ShieldsOperations.java index 4ea3ab5e3..aee6bcadf 100644 --- a/OneSheeld/src/com/integreight/onesheeld/appFragments/ShieldsOperations.java +++ b/OneSheeld/src/com/integreight/onesheeld/appFragments/ShieldsOperations.java @@ -1,5 +1,6 @@ package com.integreight.onesheeld.appFragments; +import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.support.v4.app.Fragment; @@ -32,6 +33,7 @@ public class ShieldsOperations extends BaseContainerFragment { private static ShieldsOperations thisInstance; protected SelectedShieldsListFragment mFrag; private Fragment mContent; + private MainActivity activity; public static ShieldsOperations getInstance() { if (thisInstance == null) { @@ -59,13 +61,11 @@ public void onActivityCreated(Bundle savedInstanceState) { MultiDirectionSlidingDrawer settingsSlidingView; private void initView(Bundle savedInstanceState) { - final MainActivity myActivity = (MainActivity) getActivity(); - myActivity - .getSupportFragmentManager() + activity.getSupportFragmentManager() .beginTransaction() .replace(R.id.pinsViewContainer, ConnectingPinsView.getInstance()).commit(); - myActivity.enableMenu(); + activity.enableMenu(); ((CheckBox) getView().findViewById(R.id.isMenuOpening)) .setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @@ -73,27 +73,27 @@ private void initView(Bundle savedInstanceState) { public void onCheckedChanged(CompoundButton arg0, boolean arg1) { if (arg1) { - myActivity.disableMenu(); + activity.disableMenu(); } else - myActivity.enableMenu(); + activity.enableMenu(); } }); new Handler().postDelayed(new Runnable() { @Override public void run() { - myActivity.openMenu(); + activity.openMenu(); } }, 500); if (savedInstanceState == null) { - FragmentTransaction t = myActivity.getSupportFragmentManager() + FragmentTransaction t = activity.getSupportFragmentManager() .beginTransaction(); - mFrag = SelectedShieldsListFragment.newInstance(myActivity); + mFrag = SelectedShieldsListFragment.newInstance(activity); t.replace(R.id.selectedShieldsContainer, mFrag); t.commit(); } else { - mFrag = (SelectedShieldsListFragment) myActivity + mFrag = (SelectedShieldsListFragment) activity .getSupportFragmentManager().findFragmentById( R.id.menu_frame); } @@ -104,7 +104,7 @@ public void run() { @Override public void run() { - TextView shieldName = (OneShieldTextView) getActivity() + TextView shieldName = (OneShieldTextView) activity .findViewById(R.id.shieldName); shieldName .setVisibility(((ShieldFragmentParent) mContent).shieldName @@ -117,12 +117,10 @@ public void run() { }); } catch (Exception e) { } - ((MainActivity) getActivity()).setTitle(mFrag.getUIShield(0) - .getName() + " Shield"); + activity.setTitle(mFrag.getUIShield(0).getName() + " Shield"); // set the Above View // setContentView(R.layout.content_frame); - ((MainActivity) getActivity()).getSupportFragmentManager() - .beginTransaction() + activity.getSupportFragmentManager().beginTransaction() .replace(R.id.shieldsContainerFrame, mContent).commit(); } pinsSlidingView = (MultiDirectionSlidingDrawer) getView().findViewById( @@ -144,7 +142,7 @@ public void onClick(View v) { public void onDrawerOpened() { if (settingsSlidingView.isOpened()) settingsSlidingView.animateOpen(); - myActivity.disableMenu(); + activity.disableMenu(); } }); pinsSlidingView @@ -155,7 +153,7 @@ public void onDrawerClosed() { if (!settingsSlidingView.isOpened() && !((CheckBox) getView().findViewById( R.id.isMenuOpening)).isChecked()) - myActivity.enableMenu(); + activity.enableMenu(); } }); pinsSlidingView.setOnTouchListener(new View.OnTouchListener() { @@ -182,7 +180,7 @@ public void onDrawerOpened() { if (pinsSlidingView.isOpened()) { pinsSlidingView.animateOpen(); } - myActivity.disableMenu(); + activity.disableMenu(); } }); settingsSlidingView @@ -193,7 +191,7 @@ public void onDrawerClosed() { if (!pinsSlidingView.isOpened() && !((CheckBox) getView().findViewById( R.id.isMenuOpening)).isChecked()) - myActivity.enableMenu(); + activity.enableMenu(); } }); settingsSlidingView.setOnTouchListener(new View.OnTouchListener() { @@ -211,9 +209,9 @@ public boolean onTouch(View v, MotionEvent event) { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (MainActivity.currentShieldTag != null) - ((OneSheeldApplication) getActivity() - .getApplication()).getRunningShields().get( - MainActivity.currentShieldTag).isInteractive = isChecked; + ((OneSheeldApplication) activity.getApplication()) + .getRunningShields().get( + MainActivity.currentShieldTag).isInteractive = isChecked; } }); } @@ -224,6 +222,12 @@ public void onStart() { } + @Override + public void onAttach(Activity activity) { + this.activity = (MainActivity) activity; + super.onAttach(activity); + } + @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { inflater.inflate(R.menu.shields_operation, menu); @@ -245,10 +249,9 @@ public void onSaveInstanceState(Bundle outState) { public void switchContent(Fragment fragment) { mContent = fragment; - ((MainActivity) getActivity()).getSupportFragmentManager() - .beginTransaction() + activity.getSupportFragmentManager().beginTransaction() .replace(R.id.appTransitionsContainer, fragment).commit(); - // ((MainActivity) getActivity()).getSlidingMenu().showContent(); + // activity.getSlidingMenu().showContent(); } @Override @@ -261,69 +264,63 @@ public void onDestroy() { public void onResume() { ((CheckBox) getView().findViewById(R.id.isMenuOpening)) .setChecked(false); - ((MainActivity) getActivity()).getOnConnectionLostHandler().canInvokeOnCloseConnection = false; - if (((OneSheeldApplication) getActivity().getApplication()) - .getAppFirmata() == null - || !((OneSheeldApplication) getActivity().getApplication()) + activity.getOnConnectionLostHandler().canInvokeOnCloseConnection = false; + if (((OneSheeldApplication) activity.getApplication()).getAppFirmata() == null + || !((OneSheeldApplication) activity.getApplication()) .getAppFirmata().isOpen()) { - ((MainActivity) getActivity()).getOnConnectionLostHandler().connectionLost = true; + activity.getOnConnectionLostHandler().connectionLost = true; } - ((MainActivity) getActivity()).getOnConnectionLostHandler() - .sendEmptyMessage(0); - ((MainActivity) getActivity()).closeMenu(); + activity.getOnConnectionLostHandler().sendEmptyMessage(0); + activity.closeMenu(); new Handler().postDelayed(new Runnable() { @Override public void run() { - if (getActivity() != null - && getActivity().findViewById(R.id.getAvailableDevices) != null) - getActivity().findViewById(R.id.getAvailableDevices) + if (activity != null + && activity.findViewById(R.id.getAvailableDevices) != null) + activity.findViewById(R.id.getAvailableDevices) .setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - ((MainActivity) getActivity()).closeMenu(); - if (getActivity() - .getSupportFragmentManager() + activity.closeMenu(); + if (activity.getSupportFragmentManager() .getBackStackEntryCount() > 1) { - getActivity() - .getSupportFragmentManager() + activity.getSupportFragmentManager() .popBackStack(); - getActivity() - .getSupportFragmentManager() + activity.getSupportFragmentManager() .executePendingTransactions(); } - ((MainActivity) getActivity()) - .stopService(); + activity.stopService(); if (!ArduinoConnectivityPopup.isOpened) { ArduinoConnectivityPopup.isOpened = true; - new ArduinoConnectivityPopup( - getActivity()).show(); + new ArduinoConnectivityPopup(activity) + .show(); } } }); } }, 1000); - ((ViewGroup) getActivity().findViewById(R.id.getAvailableDevices)) + ((ViewGroup) activity.findViewById(R.id.getAvailableDevices)) .getChildAt(1).setBackgroundResource( R.drawable.bluetooth_disconnect_button); - ((ViewGroup) getActivity().findViewById(R.id.cancelConnection)) + ((ViewGroup) activity.findViewById(R.id.cancelConnection)) .getChildAt(1).setBackgroundResource(R.drawable.back_button); - getActivity().findViewById(R.id.cancelConnection).setOnClickListener( + activity.findViewById(R.id.cancelConnection).setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { - boolean isMenuOpened = (((MainActivity) getActivity()).appSlidingMenu != null && ((MainActivity) getActivity()).appSlidingMenu + boolean isMenuOpened = (activity.appSlidingMenu != null && activity.appSlidingMenu .isOpen()) || (settingsSlidingView != null && settingsSlidingView .isOpened()) || (pinsSlidingView != null && pinsSlidingView .isOpened()); - getActivity().onBackPressed(); + activity.onBackPressed(); if (!isMenuOpened) - getActivity().findViewById(R.id.cancelConnection) + activity.findViewById(R.id.cancelConnection) .setOnClickListener( new View.OnClickListener() { diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/AccelerometerFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/AccelerometerFragment.java index 32c718b4a..eb11bb41b 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/AccelerometerFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/AccelerometerFragment.java @@ -165,7 +165,7 @@ public void isDeviceHasSensor(final Boolean hasSensor) {/* private void initializeFirmata() { if (getApplication().getRunningShields().get(getControllerTag()) == null) { getApplication().getRunningShields().put(getControllerTag(), - new AccelerometerShield(getActivity(), getControllerTag())); + new AccelerometerShield(activity, getControllerTag())); } diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/BuzzerFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/BuzzerFragment.java index e4f4691d3..c35f8cc43 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/BuzzerFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/BuzzerFragment.java @@ -41,7 +41,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, @Override public void onStart() { // hasSettings = true; - // ((MainActivity) getActivity()) + // ((MainActivity) activity) // .getSupportFragmentManager() // .beginTransaction() // .replace(R.id.settingsViewContainer, @@ -155,7 +155,7 @@ public void onSpeakerChange(boolean isOn) { private void initializeFirmata() { if (getApplication().getRunningShields().get(getControllerTag()) == null) { getApplication().getRunningShields().put(getControllerTag(), - new SpeakerShield(getActivity(), getControllerTag())); + new SpeakerShield(activity, getControllerTag())); } } diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/CameraFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/CameraFragment.java index 1d6e924d5..87af82215 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/CameraFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/CameraFragment.java @@ -75,7 +75,7 @@ public void checkCameraHardware(boolean isHasCamera) { if (canChangeUI()) { if (!isHasCamera) { - Toast.makeText(getActivity(), + Toast.makeText(activity, "Your Device doesn't have Camera", Toast.LENGTH_SHORT).show(); } @@ -85,7 +85,7 @@ public void checkCameraHardware(boolean isHasCamera) { @Override public void OnPictureTaken() { if (canChangeUI()) - Toast.makeText(getActivity(), + Toast.makeText(activity, "Your Camera has been Captured Image", Toast.LENGTH_SHORT).show(); } @@ -103,7 +103,7 @@ public void setFlashMode(String flash_mode) { private void initializeFirmata() { if (getApplication().getRunningShields().get(getControllerTag()) == null) { getApplication().getRunningShields().put(getControllerTag(), - new CameraShield(getActivity(), getControllerTag())); + new CameraShield(activity, getControllerTag())); } diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/ClockFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/ClockFragment.java index 47def53f2..c90c1684a 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/ClockFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/ClockFragment.java @@ -66,7 +66,7 @@ public void run() { private void initializeFirmata() { if (getApplication().getRunningShields().get(getControllerTag()) == null) { getApplication().getRunningShields().put(getControllerTag(), - new ClockShield(getActivity(), getControllerTag())); + new ClockShield(activity, getControllerTag())); } diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/EmailFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/EmailFragment.java index 37f58a948..7239387c2 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/EmailFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/EmailFragment.java @@ -57,7 +57,7 @@ public void onActivityCreated(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onActivityCreated(savedInstanceState); Log.d("Email Sheeld::OnActivityCreated()", ""); - mSharedPreferences = getActivity().getApplicationContext() + mSharedPreferences = activity.getApplicationContext() .getSharedPreferences("com.integreight.onesheeld", Context.MODE_PRIVATE); @@ -73,9 +73,9 @@ public void onActivityCreated(Bundle savedInstanceState) { @Override public void onClick(View v) { - if (ConnectionDetector.isConnectingToInternet(getActivity())) + if (ConnectionDetector.isConnectingToInternet(activity)) // show dialog of registration then call add account method - new GmailSinginPopup(getActivity(), emailEventHandler) + new GmailSinginPopup(activity, emailEventHandler) .show(); else Toast.makeText( @@ -168,7 +168,7 @@ public void onEmailnotSent(String message_not_sent) { private void initializeFirmata() { if (getApplication().getRunningShields().get(getControllerTag()) == null) { getApplication().getRunningShields().put(getControllerTag(), - new EmailShield(getActivity(), getControllerTag())); + new EmailShield(activity, getControllerTag())); ((EmailShield) getApplication().getRunningShields().get( getControllerTag())) .setEmailEventHandler(emailEventHandler); diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/FacebookFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/FacebookFragment.java index f79785ba5..7e3863983 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/FacebookFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/FacebookFragment.java @@ -70,7 +70,7 @@ public void onStop() { @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { - Session.getActiveSession().onActivityResult(getActivity(), requestCode, + Session.getActiveSession().onActivityResult(activity, requestCode, resultCode, data); super.onActivityResult(requestCode, resultCode, data); } @@ -105,7 +105,7 @@ public void onRecievePost(final String post) { @Override public void run() { - OneShieldTextView posty = (OneShieldTextView) getActivity() + OneShieldTextView posty = (OneShieldTextView) activity .getLayoutInflater().inflate( R.layout.facebook_post_item, lastPostTextCont, false); @@ -113,7 +113,7 @@ public void run() { lastPostTextCont.addView(posty); ((ScrollView) lastPostTextCont.getParent()) .invalidate(); - Toast.makeText(getActivity(), "Posted on your wall!", + Toast.makeText(activity, "Posted on your wall!", Toast.LENGTH_SHORT).show(); } }); @@ -124,7 +124,7 @@ public void run() { public void onFacebookLoggedIn() { // TODO Auto-generated method stub if (canChangeUI()) { - getActivity().runOnUiThread(new Runnable() { + activity.runOnUiThread(new Runnable() { @Override public void run() { @@ -141,12 +141,12 @@ public void run() { public void onFacebookError(final String error) { // TODO Auto-generated method stub if (canChangeUI()) { - getActivity().runOnUiThread(new Runnable() { + activity.runOnUiThread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub - Toast.makeText(getActivity(), error, Toast.LENGTH_SHORT) + Toast.makeText(activity, error, Toast.LENGTH_SHORT) .show(); // buttonToLoggedIn(); // getAppActivity() @@ -163,7 +163,7 @@ private void initializeFirmata() { if ((getApplication().getRunningShields().get(getControllerTag())) == null) getApplication().getRunningShields().put( getControllerTag(), - new FacebookShield(getActivity(), getControllerTag(), this, + new FacebookShield(activity, getControllerTag(), this, savedInstanceState)); ((FacebookShield) getApplication().getRunningShields().get( getControllerTag())).setShieldFragment(this); @@ -211,7 +211,7 @@ private void logoutFromFacebook() { } private void loginToFacebook() { - if (ConnectionDetector.isConnectingToInternet(getActivity())) + if (ConnectionDetector.isConnectingToInternet(activity)) ((FacebookShield) getApplication().getRunningShields().get( getControllerTag())).loginToFacebook(); diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/FoursquareFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/FoursquareFragment.java index 707e7f01f..c6f7d2f92 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/FoursquareFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/FoursquareFragment.java @@ -77,7 +77,7 @@ public void onActivityCreated(Bundle savedInstanceState) { @Override public void onClick(View v) { // start login to foursquare - if (ConnectionDetector.isConnectingToInternet(getActivity())) + if (ConnectionDetector.isConnectingToInternet(activity)) ((FoursquareShield) getApplication().getRunningShields() .get(getControllerTag())).loginToFoursquare(); else @@ -176,7 +176,7 @@ private void initializeFirmata() { if (getApplication().getRunningShields().get(getControllerTag()) == null) getApplication().getRunningShields().put(getControllerTag(), - new FoursquareShield(getActivity(), getControllerTag())); + new FoursquareShield(activity, getControllerTag())); ((FoursquareShield) getApplication().getRunningShields().get( getControllerTag())) diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/GamepadFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/GamepadFragment.java index 919252309..f81e95b6c 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/GamepadFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/GamepadFragment.java @@ -230,7 +230,7 @@ private void initializeKeysEventHandler(ViewGroup viewGroup) { private void initializeFirmata() { if ((getApplication().getRunningShields().get(getControllerTag())) == null) getApplication().getRunningShields().put(getControllerTag(), - new GamepadShield(getActivity(), getControllerTag())); + new GamepadShield(activity, getControllerTag())); toggleMenuButtons(); } diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/GpsFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/GpsFragment.java index 39e4f118f..05a190e8e 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/GpsFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/GpsFragment.java @@ -107,7 +107,7 @@ public void run() { private void initializeFirmata() { if (getApplication().getRunningShields().get(getControllerTag()) == null) { getApplication().getRunningShields().put(getControllerTag(), - new GpsShield(getActivity(), getControllerTag())); + new GpsShield(activity, getControllerTag())); } diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/GravityFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/GravityFragment.java index 3e7bfa990..6b17fa67b 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/GravityFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/GravityFragment.java @@ -141,7 +141,7 @@ public void isDeviceHasSensor(final Boolean hasSensor) {/* * ); * Toast.makeText * ( - * getActivity() + * activity * , * "Device dosen't have This Sensor !" * , Toast. @@ -159,7 +159,7 @@ public void isDeviceHasSensor(final Boolean hasSensor) {/* private void initializeFirmata() { if (getApplication().getRunningShields().get(getControllerTag()) == null) { getApplication().getRunningShields().put(getControllerTag(), - new GravityShield(getActivity(), getControllerTag())); + new GravityShield(activity, getControllerTag())); } diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/GyroscopeFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/GyroscopeFragment.java index d4127624c..e6c512558 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/GyroscopeFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/GyroscopeFragment.java @@ -146,7 +146,7 @@ public void isDeviceHasSensor(final Boolean hasSensor) {/* * ); * Toast.makeText * ( - * getActivity() + * activity * , * "Device dosen't have This Sensor !" * , Toast. @@ -164,7 +164,7 @@ public void isDeviceHasSensor(final Boolean hasSensor) {/* private void initializeFirmata() { if (getApplication().getRunningShields().get(getControllerTag()) == null) { getApplication().getRunningShields().put(getControllerTag(), - new GyroscopeShield(getActivity(), getControllerTag())); + new GyroscopeShield(activity, getControllerTag())); } diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/KeyboardFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/KeyboardFragment.java index 6a8682519..baf0e18c4 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/KeyboardFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/KeyboardFragment.java @@ -65,7 +65,7 @@ public void onStop() { @Override public void setUserVisibleHint(boolean isVisibleToUser) { - getActivity().setRequestedOrientation( + activity.setRequestedOrientation( ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); super.setUserVisibleHint(isVisibleToUser); } @@ -117,7 +117,7 @@ public void setKeyboardEventHandler( private void initializeFirmata() { if (getApplication().getRunningShields().get(getControllerTag()) == null) { getApplication().getRunningShields().put(getControllerTag(), - new KeyboardShield(getActivity(), getControllerTag())); + new KeyboardShield(activity, getControllerTag())); } @@ -208,7 +208,7 @@ public void onClick(View v) { } private void hideDefaultKeyboard() { - getActivity().getWindow().setSoftInputMode( + activity.getWindow().setSoftInputMode( WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); } @@ -382,7 +382,7 @@ private void setForow() { private void setKeys() { try { DisplayMetrics displaymetrics = new DisplayMetrics(); - getActivity().getWindow().getWindowManager().getDefaultDisplay() + activity.getWindow().getWindowManager().getDefaultDisplay() .getMetrics(displaymetrics); mWindowWidth = displaymetrics.widthPixels; } catch (Exception ignored) { @@ -392,7 +392,7 @@ private void setKeys() { try { Point realSize = new Point(); Display.class.getMethod("getRealSize", Point.class).invoke( - getActivity().getWindow().getWindowManager() + activity.getWindow().getWindowManager() .getDefaultDisplay(), realSize); mWindowWidth = realSize.x; } catch (Exception ignored) { diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/KeypadFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/KeypadFragment.java index 158ef6fb4..ba7dee2a7 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/KeypadFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/KeypadFragment.java @@ -116,7 +116,7 @@ private void initializeKeysEventHandler(ViewGroup viewGroup) { private void initializeFirmata() { if ((getApplication().getRunningShields().get(getControllerTag())) == null) getApplication().getRunningShields().put(getControllerTag(), - new KeypadShield(getActivity(), getControllerTag())); + new KeypadShield(activity, getControllerTag())); toggleMenuButtons(); } diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/LedFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/LedFragment.java index 11c50820c..4d122bb1c 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/LedFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/LedFragment.java @@ -117,7 +117,7 @@ public void run() { private void initializeFirmata() { if (getApplication().getRunningShields().get(getControllerTag()) == null) { getApplication().getRunningShields().put(getControllerTag(), - new LedShield(getActivity(), getControllerTag())); + new LedShield(activity, getControllerTag())); } } diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/LightFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/LightFragment.java index b7f5628be..56c48395f 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/LightFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/LightFragment.java @@ -151,7 +151,7 @@ public void isDeviceHasSensor(final Boolean hasSensor) {/* * ); * Toast.makeText * ( - * getActivity() + * activity * , * "Device dosen't have This Sensor !" * , Toast. @@ -182,7 +182,7 @@ public void isDeviceHasSensor(final Boolean hasSensor) {/* private void initializeFirmata() { if (getApplication().getRunningShields().get(getControllerTag()) == null) { getApplication().getRunningShields().put(getControllerTag(), - new LightShield(getActivity(), getControllerTag())); + new LightShield(activity, getControllerTag())); } diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/MagnetometerFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/MagnetometerFragment.java index d04c8d06a..5e6919dbc 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/MagnetometerFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/MagnetometerFragment.java @@ -166,7 +166,7 @@ public void isDeviceHasSensor(final Boolean hasSensor) {/* * ); * Toast.makeText * ( - * getActivity() + * activity * , * "Device dosen't have This Sensor !" * , Toast. @@ -184,7 +184,7 @@ public void isDeviceHasSensor(final Boolean hasSensor) {/* private void initializeFirmata() { if (getApplication().getRunningShields().get(getControllerTag()) == null) { getApplication().getRunningShields().put(getControllerTag(), - new MagnetometerShield(getActivity(), getControllerTag())); + new MagnetometerShield(activity, getControllerTag())); } diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/MicFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/MicFragment.java index 617dc6876..91dd45f76 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/MicFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/MicFragment.java @@ -107,7 +107,7 @@ public void run() { private void invalidateController() { if (getApplication().getRunningShields().get(getControllerTag()) == null) { getApplication().getRunningShields().put(getControllerTag(), - new MicShield(getActivity(), getControllerTag())); + new MicShield(activity, getControllerTag())); } } diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/MusicPlayerFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/MusicPlayerFragment.java index fafb22567..101402819 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/MusicPlayerFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/MusicPlayerFragment.java @@ -9,7 +9,6 @@ import android.widget.TextView; import com.integreight.onesheeld.Log; -import com.integreight.onesheeld.MainActivity; import com.integreight.onesheeld.R; import com.integreight.onesheeld.shields.controller.MusicShield; import com.integreight.onesheeld.shields.controller.MusicShield.MusicEventHandler; @@ -33,8 +32,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, @Override public void onStart() { - ((MainActivity) getActivity()) - .getSupportFragmentManager() + activity.getSupportFragmentManager() .beginTransaction() .replace(R.id.settingsViewContainer, MusicShieldSettings.getInstance()).commit(); diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/NotificationFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/NotificationFragment.java index 117135abe..9b1658298 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/NotificationFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/NotificationFragment.java @@ -73,7 +73,7 @@ public void run() { private void initializeFirmata() { if (getApplication().getRunningShields().get(getControllerTag()) == null) getApplication().getRunningShields().put(getControllerTag(), - new NotificationShield(getActivity(), getControllerTag())); + new NotificationShield(activity, getControllerTag())); ((NotificationShield) getApplication().getRunningShields().get( getControllerTag())) .setNotificationEventHandler(notificationEventHandler); diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/OrientationFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/OrientationFragment.java index cdba6f1aa..bd14cd092 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/OrientationFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/OrientationFragment.java @@ -131,7 +131,7 @@ public void isDeviceHasSensor(Boolean hasSensor) {/* * .setText( * "Your Device not have The Sensor" * ); Toast.makeText( - * getActivity(), + * activity, * "Device dosen't have This Sensor !" * , * Toast.LENGTH_SHORT). @@ -145,7 +145,7 @@ public void isDeviceHasSensor(Boolean hasSensor) {/* private void initializeFirmata() { if (getApplication().getRunningShields().get(getControllerTag()) == null) { getApplication().getRunningShields().put(getControllerTag(), - new OrientationShield(getActivity(), getControllerTag())); + new OrientationShield(activity, getControllerTag())); } diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/PhoneFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/PhoneFragment.java index 5b3b8bcc8..9f24ef94c 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/PhoneFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/PhoneFragment.java @@ -62,7 +62,7 @@ public void OnCall(final String phone_number) { @Override public void run() { - OneShieldTextView call = (OneShieldTextView) getActivity() + OneShieldTextView call = (OneShieldTextView) activity .getLayoutInflater().inflate( R.layout.outgoing_call_item, callsLogContainer, false); @@ -81,7 +81,7 @@ public void onReceiveACall(final String phoneNumber) { @Override public void run() { - OneShieldTextView call = (OneShieldTextView) getActivity() + OneShieldTextView call = (OneShieldTextView) activity .getLayoutInflater().inflate( R.layout.incoming_call_item, callsLogContainer, false); @@ -97,7 +97,7 @@ public void run() { private void initializeFirmata() { if (getApplication().getRunningShields().get(getControllerTag()) == null) { getApplication().getRunningShields().put(getControllerTag(), - new PhoneShield(getActivity(), getControllerTag())); + new PhoneShield(activity, getControllerTag())); ((PhoneShield) getApplication().getRunningShields().get( getControllerTag())) .setPhoneEventHandler(phoneEventHandler); diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/PressureFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/PressureFragment.java index b0d1d6c06..33849c7ad 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/PressureFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/PressureFragment.java @@ -159,7 +159,7 @@ public void isDeviceHasSensor(final Boolean hasSensor) {/* * ); * Toast.makeText * ( - * getActivity() + * activity * , * "Device dosen't have This Sensor !" * , Toast. @@ -193,7 +193,7 @@ public void isDeviceHasSensor(final Boolean hasSensor) {/* private void initializeFirmata() { if (getApplication().getRunningShields().get(getControllerTag()) == null) { getApplication().getRunningShields().put(getControllerTag(), - new PressureShield(getActivity(), getControllerTag())); + new PressureShield(activity, getControllerTag())); } diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/ProximityFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/ProximityFragment.java index 4fbcc12e8..d9275bcce 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/ProximityFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/ProximityFragment.java @@ -160,9 +160,7 @@ public void isDeviceHasSensor(final Boolean hasSensor) {/* * "Your Device not have The Sensor" * ); * Toast.makeText - * ( - * getActivity() - * , + * ( activity , * "Device dosen't have This Sensor !" * , Toast. * LENGTH_SHORT @@ -195,7 +193,7 @@ public void isDeviceHasSensor(final Boolean hasSensor) {/* private void initializeFirmata() { if (getApplication().getRunningShields().get(getControllerTag()) == null) { getApplication().getRunningShields().put(getControllerTag(), - new ProximityShield(getActivity(), getControllerTag())); + new ProximityShield(activity, getControllerTag())); } diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/PushButtonFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/PushButtonFragment.java index c43baa00c..7910fd841 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/PushButtonFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/PushButtonFragment.java @@ -35,12 +35,12 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, if ((PushButtonShield) getApplication().getRunningShields().get( getControllerTag()) == null) { getApplication().getRunningShields().put(getControllerTag(), - new PushButtonShield(getActivity(), getControllerTag())); + new PushButtonShield(activity, getControllerTag())); } push = (OneShieldButton) v .findViewById(R.id.push_button_shield_button_push_button); - menu = (AppSlidingLeftMenu) getActivity().findViewById( + menu = (AppSlidingLeftMenu) activity.findViewById( R.id.sliding_pane_layout); push.setOnTouchListener(new View.OnTouchListener() { diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/SevenSegmentFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/SevenSegmentFragment.java index dd72d28cf..c775b940b 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/SevenSegmentFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/SevenSegmentFragment.java @@ -218,7 +218,7 @@ private void refreshSegments(Hashtable segmentsStatus) { private void initializeFirmata(ArduinoFirmata firmata) { if ((getApplication().getRunningShields().get(getControllerTag())) == null) getApplication().getRunningShields().put(getControllerTag(), - new SevenSegmentShield(getActivity(), getControllerTag())); + new SevenSegmentShield(activity, getControllerTag())); } diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/SkypeFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/SkypeFragment.java index c9e36dbe4..3c9184468 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/SkypeFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/SkypeFragment.java @@ -49,7 +49,7 @@ public void onActivityCreated(Bundle savedInstanceState) { public void onVideoCall(String user) { // TODO Auto-generated method stub if (canChangeUI()) - Toast.makeText(getActivity(), user + " Outgoing Video Call", + Toast.makeText(activity, user + " Outgoing Video Call", Toast.LENGTH_SHORT).show(); } @@ -58,8 +58,7 @@ public void onVideoCall(String user) { public void onSkypeClientNotInstalled(String popMessage) { // TODO Auto-generated method stub if (canChangeUI()) - Toast.makeText(getActivity(), popMessage, Toast.LENGTH_SHORT) - .show(); + Toast.makeText(activity, popMessage, Toast.LENGTH_SHORT).show(); } @@ -73,7 +72,7 @@ public void onError(String error) { public void onChat(String user) { // TODO Auto-generated method stub if (canChangeUI()) - Toast.makeText(getActivity(), user + " Outgoing Chat", + Toast.makeText(activity, user + " Outgoing Chat", Toast.LENGTH_SHORT).show(); } @@ -82,7 +81,7 @@ public void onChat(String user) { public void onCall(String user) { // TODO Auto-generated method stub if (canChangeUI()) - Toast.makeText(getActivity(), user + " Outgoing Call", + Toast.makeText(activity, user + " Outgoing Call", Toast.LENGTH_SHORT).show(); } @@ -91,7 +90,7 @@ public void onCall(String user) { private void initializeFirmata() { if (getApplication().getRunningShields().get(getControllerTag()) == null) { getApplication().getRunningShields().put(getControllerTag(), - new SkypeShield(getActivity(), getControllerTag())); + new SkypeShield(activity, getControllerTag())); ((SkypeShield) getApplication().getRunningShields().get( getControllerTag())) .setSkypeEventHandler(skypeEventHandler); diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/SliderFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/SliderFragment.java index 255039abd..57fd7e95e 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/SliderFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/SliderFragment.java @@ -67,7 +67,7 @@ public void onProgressChanged(SeekBar seekBar, int progress, public void onStart() { if (getApplication().getRunningShields().get(getControllerTag()) == null) getApplication().getRunningShields().put(getControllerTag(), - new SliderShield(getActivity(), getControllerTag())); + new SliderShield(activity, getControllerTag())); ConnectingPinsView.getInstance().reset( getApplication().getRunningShields().get(getControllerTag()), new OnPinSelectionListener() { @@ -112,7 +112,7 @@ private void initializeFirmata(ArduinoFirmata firmata) { if (getApplication().getRunningShields().get(getControllerTag()) == null) getApplication().getRunningShields().put(getControllerTag(), - new SliderShield(getActivity(), getControllerTag())); + new SliderShield(activity, getControllerTag())); } diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/SmsFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/SmsFragment.java index 0d17c03ee..091dcc493 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/SmsFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/SmsFragment.java @@ -74,14 +74,14 @@ public void onSmsSent(final String smsNumber, final String smsText) { @Override public void run() { - OneShieldTextView tv = (OneShieldTextView) getActivity() + OneShieldTextView tv = (OneShieldTextView) activity .getLayoutInflater().inflate( R.layout.sent_sms_details_row, smsTextContainer, false); tv.setText("SMS to " + smsNumber + " (" + smsText + ")"); smsTextContainer.addView(tv); - Toast.makeText(getActivity(), "SMS Sent!", - Toast.LENGTH_LONG).show(); + Toast.makeText(activity, "SMS Sent!", Toast.LENGTH_LONG) + .show(); } }); } @@ -92,7 +92,7 @@ public void run() { public void onSmsFail(String error) { // TODO Auto-generated method stub if (canChangeUI()) { - Toast.makeText(getActivity(), error, Toast.LENGTH_LONG).show(); + Toast.makeText(activity, error, Toast.LENGTH_LONG).show(); } } }; @@ -100,7 +100,7 @@ public void onSmsFail(String error) { private void initializeFirmata() { if ((getApplication().getRunningShields().get(getControllerTag())) == null) getApplication().getRunningShields().put(getControllerTag(), - new SmsShield(getActivity(), getControllerTag())); + new SmsShield(activity, getControllerTag())); ((SmsShield) getApplication().getRunningShields().get( getControllerTag())).setSmsEventHandler(smsEventHandler); toggleMenuButtons(); diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/TemperatureFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/TemperatureFragment.java index 3e2ea7199..e027d0453 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/TemperatureFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/TemperatureFragment.java @@ -159,7 +159,7 @@ public void isDeviceHasSensor(final Boolean hasSensor) {/* * ); * Toast.makeText * ( - * getActivity() + * activity * , * "Device dosen't have This Sensor !" * , Toast. @@ -193,7 +193,7 @@ public void isDeviceHasSensor(final Boolean hasSensor) {/* private void initializeFirmata() { if (getApplication().getRunningShields().get(getControllerTag()) == null) { getApplication().getRunningShields().put(getControllerTag(), - new TemperatureShield(getActivity(), getControllerTag())); + new TemperatureShield(activity, getControllerTag())); } diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/ToggleButtonFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/ToggleButtonFragment.java index 8fdcce5e9..98f432add 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/ToggleButtonFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/ToggleButtonFragment.java @@ -35,7 +35,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, if ((ToggleButtonShield) getApplication().getRunningShields().get( getControllerTag()) == null) { getApplication().getRunningShields().put(getControllerTag(), - new ToggleButtonShield(getActivity(), getControllerTag())); + new ToggleButtonShield(activity, getControllerTag())); } toggleButtonButton .setOnCheckedChangeListener(new OnCheckedChangeListener() { diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/TwitterFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/TwitterFragment.java index 741f97042..457e0a482 100644 --- a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/TwitterFragment.java +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/TwitterFragment.java @@ -50,7 +50,7 @@ public void onStart() { @Override public void onClick(View arg0) { - if (ConnectionDetector.isConnectingToInternet(getActivity())) + if (ConnectionDetector.isConnectingToInternet(activity)) ((TwitterShield) getApplication().getRunningShields().get( getControllerTag())).login(); else @@ -101,7 +101,7 @@ public void onRecieveTweet(final String tweet) { @Override public void run() { - OneShieldTextView tweetItem = (OneShieldTextView) getActivity() + OneShieldTextView tweetItem = (OneShieldTextView) activity .getLayoutInflater().inflate( R.layout.tweet_item, lastTweetTextContainer, false); @@ -109,7 +109,7 @@ public void run() { lastTweetTextContainer.addView(tweetItem); ((ScrollView) lastTweetTextContainer.getParent()) .invalidate(); - Toast.makeText(getActivity(), "Tweet posted!", + Toast.makeText(activity, "Tweet posted!", Toast.LENGTH_SHORT).show(); } }); @@ -143,7 +143,7 @@ public void onTwitterError(final String error) { @Override public void run() { // TODO Auto-generated method stub - Toast.makeText(getActivity(), error, Toast.LENGTH_SHORT) + Toast.makeText(activity, error, Toast.LENGTH_SHORT) .show(); } @@ -157,7 +157,7 @@ public void run() { private void initializeFirmata() { if (getApplication().getRunningShields().get(getControllerTag()) == null) getApplication().getRunningShields().put(getControllerTag(), - new TwitterShield(getActivity(), getControllerTag())); + new TwitterShield(activity, getControllerTag())); ((TwitterShield) getApplication().getRunningShields().get( getControllerTag())) .setTwitterEventHandler(twitterEventHandler); diff --git a/OneSheeld/src/com/integreight/onesheeld/utils/ShieldFragmentParent.java b/OneSheeld/src/com/integreight/onesheeld/utils/ShieldFragmentParent.java index 46e18061b..7d06b4139 100644 --- a/OneSheeld/src/com/integreight/onesheeld/utils/ShieldFragmentParent.java +++ b/OneSheeld/src/com/integreight/onesheeld/utils/ShieldFragmentParent.java @@ -28,7 +28,7 @@ public abstract class ShieldFragmentParent> public boolean hasSettings = false; public Handler uiHandler = new Handler(); public String shieldName = ""; - private MainActivity activity; + public MainActivity activity; @Override public void onAttach(Activity activity) { @@ -102,14 +102,13 @@ public void onFailure() { } else ((T) ShieldFragmentParent.this).doOnServiceConnected(); System.out.println("DDSDSD " - + getActivity() + + activity + " " - + (getActivity() != null ? getActivity().findViewById( - R.id.settingsFixedHandler) : "")); - getActivity().findViewById(R.id.settingsFixedHandler).setVisibility( + + (activity != null ? activity + .findViewById(R.id.settingsFixedHandler) : "")); + activity.findViewById(R.id.settingsFixedHandler).setVisibility( hasSettings ? View.VISIBLE : View.GONE); - getActivity() - .findViewById(R.id.pinsFixedHandler) + activity.findViewById(R.id.pinsFixedHandler) .setVisibility( getApplication().getRunningShields().get( getControllerTag()) == null @@ -160,7 +159,7 @@ public void onLowMemory() { @Override public void onResume() { MainActivity.currentShieldTag = getControllerTag(); - ((ToggleButton) getActivity().findViewById(R.id.shieldStatus)) + ((ToggleButton) activity.findViewById(R.id.shieldStatus)) .setChecked(getApplication().getRunningShields().get( getControllerTag()).isInteractive); getApplication().getGaTracker().send( From 7b8ef1c8d5ab5794d1bca15e8d976ab430b29cb2 Mon Sep 17 00:00:00 2001 From: Ahmed Saad Date: Tue, 1 Jul 2014 21:19:35 +0200 Subject: [PATCH 4/4] LCD blinking feature --- OneSheeld/res/anim/no_blinking_cell.xml | 10 + .../shields/controller/LcdShield.java | 287 +++++++++++++ .../shields/fragments/LcdFragment.java | 383 ++++++++++++++++++ 3 files changed, 680 insertions(+) create mode 100644 OneSheeld/res/anim/no_blinking_cell.xml create mode 100644 OneSheeld/src/com/integreight/onesheeld/shields/controller/LcdShield.java create mode 100644 OneSheeld/src/com/integreight/onesheeld/shields/fragments/LcdFragment.java diff --git a/OneSheeld/res/anim/no_blinking_cell.xml b/OneSheeld/res/anim/no_blinking_cell.xml new file mode 100644 index 000000000..769a59d77 --- /dev/null +++ b/OneSheeld/res/anim/no_blinking_cell.xml @@ -0,0 +1,10 @@ + + + diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/controller/LcdShield.java b/OneSheeld/src/com/integreight/onesheeld/shields/controller/LcdShield.java new file mode 100644 index 000000000..7a38fdf95 --- /dev/null +++ b/OneSheeld/src/com/integreight/onesheeld/shields/controller/LcdShield.java @@ -0,0 +1,287 @@ +package com.integreight.onesheeld.shields.controller; + +import android.app.Activity; + +import com.integreight.firmatabluetooth.ShieldFrame; +import com.integreight.onesheeld.Log; +import com.integreight.onesheeld.enums.UIShield; +import com.integreight.onesheeld.utils.ControllerParent; + +public class LcdShield extends ControllerParent { + private LcdEventHandler eventHandler; + // private Activity activity; + public int rows = 2; + public int columns = 16; + public char[] chars; + public int currIndx = 0; + // Method ids + private static final byte PRINT = (byte) 0x11; + private static final byte BEGIN = (byte) 0x01; + private static final byte CLEAR = (byte) 0x02; + private static final byte HOME = (byte) 0x03; + // private static final byte NO_DISPLAY = (byte) 0x05; + // private static final byte DISPLAY = (byte) 0x06; + private static final byte NO_BLINK = (byte) 0x04; + private static final byte BLINK = (byte) 0x05; + private static final byte NO_CURSOR = (byte) 0x06; + private static final byte CURSOR = (byte) 0x07; + private static final byte SCROLL_DISPLAY_LEFT = (byte) 0x08; + private static final byte SCROLL_DISPLAY_RIGHT = (byte) 0x09; + private static final byte LEFT_TO_RIGHT = (byte) 0x0A; + private static final byte RIGHT_TO_LEFT = (byte) 0x0B; + // private static final byte CREATE_CHAR = (byte) 0x0F; + private static final byte SET_CURSOR = (byte) 0x0E; + private static final byte WRITE = (byte) 0x0F; + private static final byte AUTO_SCROLL = (byte) 0x0C; + private static final byte NO_AUTO_SCROLL = (byte) 0x0D; + public int lastScrollLeft = 0; + public boolean isBlinking = false, isCursoring = false; + private boolean isAutoScroll = false; + private boolean isLeftToRight = true; + + public LcdShield() { + super(); + } + + public LcdShield(Activity activity, String tag) { + super(activity, tag); + setChars(new char[rows * columns]); + } + + @Override + public ControllerParent setTag(String tag) { + setChars(new char[columns * rows]); + return super.setTag(tag); + } + + public void setLcdEventHandler(LcdEventHandler eventHandler) { + this.eventHandler = eventHandler; + CommitInstanceTotable(); + } + + public void write(char ch) { + if (currIndx > -1 && currIndx < chars.length) { + // if (isLeftToRight) { + if (!isAutoScroll) { + chars[currIndx] = ch; + changeCursor(isLeftToRight ? currIndx + 1 : currIndx - 1); + } else { + final char[] tmp = chars; + for (int i = 0; i < currIndx; i++) { + if (i + 1 < tmp.length && i + 1 > -1) + chars[i] = tmp[i + 1]; + } + if (currIndx - 1 > -1 && currIndx - 1 < chars.length) + chars[currIndx - 1] = ch; + } + } + } + + public void changeCursor(int indx) { + if (!isAutoScroll && indx > -1 && indx < rows * columns) { + if (eventHandler != null) { + eventHandler.noBlink(); + eventHandler.noCursor(); + } + currIndx = indx; + } + } + + public synchronized void scrollDisplayLeft() { + lastScrollLeft = 1; + char[] tmp = new char[chars.length]; + for (int i = 0; i < tmp.length; i++) { + if (i + lastScrollLeft > -1 && i + lastScrollLeft < chars.length) { + tmp[i] = chars[i + lastScrollLeft]; + } + } + if (eventHandler != null) + eventHandler.noBlink(); + changeCursor(currIndx - 1); + chars = tmp; + if (eventHandler != null) { + eventHandler.updateLCD(chars); + if (isBlinking) + eventHandler.blink(); + } + Log.d("LCD", (">>>>>>> Left " + lastScrollLeft)); + } + + public synchronized void scrollDisplayRight() { + lastScrollLeft = -1; + char[] tmp = new char[chars.length]; + for (int i = 0; i < tmp.length; i++) { + if (i + lastScrollLeft > -1 && i + lastScrollLeft < chars.length) { + tmp[i] = chars[i + lastScrollLeft]; + } + } + if (eventHandler != null) + eventHandler.noBlink(); + changeCursor(currIndx + 1); + chars = tmp; + if (eventHandler != null) { + eventHandler.updateLCD(chars); + if (isBlinking) + eventHandler.blink(); + } + Log.d("LCD", (">>>>>>> Right " + lastScrollLeft)); + } + + public static interface LcdEventHandler { + public void updateLCD(char[] arrayToUpdate); + + public void blink(); + + public void noBlink(); + + public void cursor(); + + public void noCursor(); + } + + private void processInput(ShieldFrame frame) { + switch (frame.getFunctionId()) { + case CLEAR: + if (eventHandler != null) { + eventHandler.noBlink(); + eventHandler.noCursor(); + } + lastScrollLeft = 0; + chars = new char[columns * rows]; + if (eventHandler != null) + eventHandler.updateLCD(chars); + changeCursor(0); + if (isBlinking && eventHandler != null) + eventHandler.blink(); + if (isCursoring && eventHandler != null) + eventHandler.cursor(); + break; + case HOME: + if (eventHandler != null) + eventHandler.noBlink(); + if (eventHandler != null) + eventHandler.noCursor(); + changeCursor(0); + if (isBlinking && eventHandler != null) + eventHandler.blink(); + if (isCursoring && eventHandler != null) + eventHandler.cursor(); + break; + case BLINK: + if (eventHandler != null) + eventHandler.blink(); + isBlinking = true; + break; + case NO_BLINK: + if (eventHandler != null) + eventHandler.noBlink(); + isBlinking = false; + break; + + case SCROLL_DISPLAY_LEFT: + scrollDisplayLeft(); + break; + + case SCROLL_DISPLAY_RIGHT: + scrollDisplayRight(); + break; + + case BEGIN: + // if (eventHandler != null) + // eventHandler.noBlink(); + // changeCursor(0); + // if (isBlinking && eventHandler != null) + // eventHandler.blink(); + break; + case SET_CURSOR: + if (eventHandler != null) { + eventHandler.noBlink(); + eventHandler.noCursor(); + } + int row = (int) frame.getArgument(0)[0]; + int col = (int) frame.getArgument(1)[0]; + changeCursor((row * columns) + col); + if (isBlinking && eventHandler != null) + eventHandler.blink(); + if (isCursoring && eventHandler != null) + eventHandler.cursor(); + break; + case WRITE: + write(frame.getArgumentAsString(0).charAt(0)); + if (eventHandler != null) { + eventHandler.updateLCD(chars); + if (isBlinking) + eventHandler.blink(); + if (isCursoring) + eventHandler.cursor(); + } + break; + case PRINT: + lastScrollLeft = 0; + if (eventHandler != null) { + eventHandler.noBlink(); + eventHandler.noCursor(); + } + lastScrollLeft = 0; + String txt = frame.getArgumentAsString(0); + for (int i = 0; i < txt.length(); i++) { + write(txt.charAt(i)); + } + if (eventHandler != null) { + eventHandler.updateLCD(chars); + if (isBlinking) + eventHandler.blink(); + if (isCursoring) + eventHandler.cursor(); + } + break; + + case CURSOR: + if (eventHandler != null) + eventHandler.cursor(); + isCursoring = true; + break; + + case NO_CURSOR: + if (eventHandler != null) + eventHandler.noCursor(); + isCursoring = false; + break; + case AUTO_SCROLL: + isAutoScroll = true; + break; + case NO_AUTO_SCROLL: + isAutoScroll = false; + break; + case LEFT_TO_RIGHT: + isLeftToRight = true; + break; + case RIGHT_TO_LEFT: + isLeftToRight = false; + break; + default: + break; + } + } + + @Override + public void onNewShieldFrameReceived(ShieldFrame frame) { + if (frame.getShieldId() == UIShield.LCD_SHIELD.getId()) + processInput(frame); + } + + @Override + public void reset() { + // TODO Auto-generated method stub + + } + + public char[] getChars() { + return chars; + } + + public void setChars(char[] chars) { + this.chars = chars; + } + +} diff --git a/OneSheeld/src/com/integreight/onesheeld/shields/fragments/LcdFragment.java b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/LcdFragment.java new file mode 100644 index 000000000..c082a951c --- /dev/null +++ b/OneSheeld/src/com/integreight/onesheeld/shields/fragments/LcdFragment.java @@ -0,0 +1,383 @@ +package com.integreight.onesheeld.shields.fragments; + +import android.graphics.Color; +import android.graphics.Typeface; +import android.os.Bundle; +import android.os.Handler; +import android.util.TypedValue; +import android.view.Gravity; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.view.animation.AnimationUtils; +import android.widget.LinearLayout; +import android.widget.RelativeLayout; +import android.widget.TextView; + +import com.integreight.onesheeld.R; +import com.integreight.onesheeld.shields.controller.LcdShield; +import com.integreight.onesheeld.shields.controller.LcdShield.LcdEventHandler; +import com.integreight.onesheeld.utils.ShieldFragmentParent; +import com.integreight.onesheeld.utils.customviews.RotatingTextView; + +public class LcdFragment extends ShieldFragmentParent { + View v; + private boolean drawn = false; + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + if (v == null) { + v = inflater.inflate(R.layout.lcd_shield_fragment_layout, + container, false); + new Handler().postDelayed(new Runnable() { + + @Override + public void run() { + draw(0, 0, ((LcdShield) getApplication() + .getRunningShields().get(getControllerTag())).rows, + ((LcdShield) getApplication().getRunningShields() + .get(getControllerTag())).columns); + drawn = true; + } + }, 0); + } else + try { + ((ViewGroup) v.getParent()).removeView(v); + } catch (Exception e) { + // TODO: handle exception + } + return v; + } + + @Override + public void onStart() { + super.onStart(); + uiHandler = new Handler(); + ((LcdShield) getApplication().getRunningShields().get( + getControllerTag())).setLcdEventHandler(lcdEventHandler); + new Handler().postDelayed(new Runnable() { + + @Override + public void run() { + redraw(((LcdShield) getApplication().getRunningShields().get( + getControllerTag())).chars); + drawn = true; + } + }, 0); + } + + @Override + public void onStop() { + try { + clear(false, false); + drawn = false; + } catch (Exception e) { + } + super.onStop(); + } + + LinearLayout verticalContainer, firstRow, secondRow; + + @Override + public void onActivityCreated(Bundle savedInstanceState) { + verticalContainer = (LinearLayout) v + .findViewById(R.id.verticalContainer); + v.findViewById(R.id.bg).setBackgroundColor(Color.BLUE); + super.onActivityCreated(savedInstanceState); + } + + public void draw(int initRow, int initCol, int rowsEnd, int columnsEnd) { + float scale = getResources().getDisplayMetrics().density; + int height = (int) (30 * scale + .5f); + int cellMargine = (int) (scale + .5f); + verticalContainer.removeAllViews(); + Typeface tf = Typeface.createFromAsset(getAppActivity().getAssets(), + "lcd_font.ttf"); + for (int i = initRow; i < rowsEnd; i++) { + RelativeLayout rowCont = new RelativeLayout(getAppActivity()); + LinearLayout rowBG = new LinearLayout(getAppActivity()); + LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( + height, LinearLayout.LayoutParams.WRAP_CONTENT); + rowCont.setLayoutParams(params); + rowBG.setClickable(true); + rowCont.setClickable(true); + RelativeLayout.LayoutParams paramsCh = new RelativeLayout.LayoutParams( + height, RelativeLayout.LayoutParams.WRAP_CONTENT); + rowBG.setLayoutParams(paramsCh); + rowBG.setOrientation(LinearLayout.VERTICAL); + for (int j = initCol; j < columnsEnd; j++) { + RelativeLayout cellCont = new RelativeLayout(getAppActivity()); + LinearLayout.LayoutParams cellParams = new LinearLayout.LayoutParams( + height, LinearLayout.LayoutParams.MATCH_PARENT); + cellParams.weight = 1; + cellParams.bottomMargin = cellMargine; + cellParams.topMargin = cellMargine; + cellParams.leftMargin = cellMargine; + cellParams.rightMargin = cellMargine; + cellCont.setLayoutParams(cellParams); + RelativeLayout.LayoutParams childParams = new RelativeLayout.LayoutParams( + RelativeLayout.LayoutParams.MATCH_PARENT, height); + TextView bg = new TextView(getAppActivity()); + bg.setLayoutParams(childParams); + bg.setBackgroundColor(0x99000000); + RelativeLayout.LayoutParams curParams = new RelativeLayout.LayoutParams( + height / 10, height); + // curParams.topMargin = (int) (1 * scale + .5f); + // curParams.bottomMargin = (int) (1 * scale + .5f); + TextView cur = new TextView(getAppActivity()); + cur.setLayoutParams(curParams); + cur.setBackgroundColor(0xffffffff); + cur.setVisibility(View.GONE); + cellCont.addView(bg); + cellCont.addView(cur); + cellCont.setClickable(true); + rowBG.addView(cellCont); + } + LinearLayout rowTxt = new LinearLayout(getAppActivity()); + RelativeLayout.LayoutParams paramsCh2 = new RelativeLayout.LayoutParams( + height, RelativeLayout.LayoutParams.WRAP_CONTENT); + rowTxt.setLayoutParams(paramsCh2); + rowTxt.setOrientation(LinearLayout.VERTICAL); + for (int j = 0; j < columnsEnd; j++) { + RelativeLayout cellCont = new RelativeLayout(getAppActivity()); + RotatingTextView cell = new RotatingTextView(getAppActivity()); + cell.setTypeface(tf); + LinearLayout.LayoutParams cellParams = new LinearLayout.LayoutParams( + height, LinearLayout.LayoutParams.MATCH_PARENT); + cellParams.weight = 1; + cellParams.bottomMargin = cellMargine; + cellParams.topMargin = cellMargine; + cellParams.leftMargin = cellMargine; + cellParams.rightMargin = cellMargine; + cell.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 18); + cell.setGravity(Gravity.CENTER); + cell.setTextColor(Color.WHITE); + // cell.setText(((LcdShieldd) + // getApplication().getRunningShields() + // .get(getControllerTag())).chars[(i * columnsEnd) + j] + // + ""); + cell.setSingleLine(true); + cellCont.setLayoutParams(cellParams); + RelativeLayout.LayoutParams childParams = new RelativeLayout.LayoutParams( + RelativeLayout.LayoutParams.MATCH_PARENT, height); + cell.setLayoutParams(childParams); + cellCont.addView(cell); + cellCont.setClickable(true); + rowTxt.addView(cellCont); + } + rowCont.addView(rowBG); + rowCont.addView(rowTxt); + verticalContainer.setGravity(Gravity.CENTER); + verticalContainer.addView(rowCont); + } + } + + private synchronized ViewGroup getCellContainerBG(int curIndx) { + int row = curIndx >= ((LcdShield) getApplication().getRunningShields() + .get(getControllerTag())).columns ? 1 : 0; + int col = curIndx >= ((LcdShield) getApplication().getRunningShields() + .get(getControllerTag())).columns ? curIndx + - ((LcdShield) getApplication().getRunningShields().get( + getControllerTag())).columns : curIndx; + return ((ViewGroup) ((ViewGroup) ((ViewGroup) verticalContainer + .getChildAt(((LcdShield) getApplication().getRunningShields() + .get(getControllerTag())).rows - row - 1)) + .getChildAt(0)).getChildAt(col)); + } + + public synchronized void noCursor() { + for (int i = 0; i < ((LcdShield) getApplication().getRunningShields() + .get(getControllerTag())).rows + * ((LcdShield) getApplication().getRunningShields().get( + getControllerTag())).columns; i++) { + final int currIndx = i; + if (currIndx > -1 + && currIndx < (((LcdShield) getApplication() + .getRunningShields().get(getControllerTag())).columns * ((LcdShield) getApplication() + .getRunningShields().get(getControllerTag())).rows)) { + getCellContainerBG(currIndx).getChildAt(1).startAnimation( + AnimationUtils.loadAnimation(getAppActivity(), + R.anim.no_blink_cell)); + getCellContainerBG(currIndx).getChildAt(1).setVisibility( + View.INVISIBLE); + } + } + } + + public synchronized void cursor() { + final int currIndx = ((LcdShield) getApplication().getRunningShields() + .get(getControllerTag())).currIndx; + if (currIndx > -1 + && currIndx < ((LcdShield) getApplication().getRunningShields() + .get(getControllerTag())).columns + * ((LcdShield) getApplication().getRunningShields() + .get(getControllerTag())).rows) { + getCellContainerBG(currIndx).getChildAt(1).setVisibility( + View.VISIBLE); + getCellContainerBG(currIndx).getChildAt(1).startAnimation( + AnimationUtils.loadAnimation(getAppActivity(), + R.anim.blink_cell)); + } + } + + public synchronized void noBlink() { + for (int i = 0; i < ((LcdShield) getApplication().getRunningShields() + .get(getControllerTag())).rows + * ((LcdShield) getApplication().getRunningShields().get( + getControllerTag())).columns; i++) { + final int currIndx = i; + if (currIndx > -1 + && currIndx < (((LcdShield) getApplication() + .getRunningShields().get(getControllerTag())).columns * ((LcdShield) getApplication() + .getRunningShields().get(getControllerTag())).rows)) { + getCellContainerBG(currIndx).getChildAt(0).startAnimation( + AnimationUtils.loadAnimation(getAppActivity(), + R.anim.no_blinking_cell)); + } + } + } + + public synchronized void blink() { + final int currIndx = ((LcdShield) getApplication().getRunningShields() + .get(getControllerTag())).currIndx; + if (currIndx > -1 + && currIndx < ((LcdShield) getApplication().getRunningShields() + .get(getControllerTag())).columns + * ((LcdShield) getApplication().getRunningShields() + .get(getControllerTag())).rows) { + getCellContainerBG(currIndx).getChildAt(0).setVisibility( + View.VISIBLE); + getCellContainerBG(currIndx).getChildAt(0).startAnimation( + AnimationUtils.loadAnimation(getAppActivity(), + R.anim.blink_cell)); + } + } + + public synchronized void clear(boolean changeCursor, boolean clearView) { + for (int i = 0; i < ((LcdShield) getApplication().getRunningShields() + .get(getControllerTag())).rows; i++) { + LinearLayout rowTxt = (LinearLayout) ((ViewGroup) verticalContainer + .getChildAt(((LcdShield) getApplication() + .getRunningShields().get(getControllerTag())).rows + - i - 1)).getChildAt(1); + for (int j = 0; j < rowTxt.getChildCount(); j++) { + ((RotatingTextView) ((ViewGroup) rowTxt.getChildAt(j)) + .getChildAt(0)).setText(""); + } + } + } + + public void blinkLCD() { + v.findViewById(R.id.bg).startAnimation( + AnimationUtils.loadAnimation(getAppActivity(), + R.anim.blink_anim_bg)); + } + + public void noBlinkLCD() { + v.findViewById(R.id.bg).startAnimation( + AnimationUtils.loadAnimation(getAppActivity(), + R.anim.no_anim_bg)); + } + + private synchronized void redraw(char[] arr) { + for (int i = 0; i < ((LcdShield) getApplication().getRunningShields() + .get(getControllerTag())).rows; i++) { + LinearLayout rowTxt = (LinearLayout) ((ViewGroup) verticalContainer + .getChildAt(((LcdShield) getApplication() + .getRunningShields().get(getControllerTag())).rows + - i - 1)).getChildAt(1); + for (int j = 0; j < rowTxt.getChildCount(); j++) { + ((RotatingTextView) ((ViewGroup) rowTxt.getChildAt(j)) + .getChildAt(0)).startAnimation(AnimationUtils + .loadAnimation(getAppActivity(), R.anim.rotate_lcd)); + ((RotatingTextView) ((ViewGroup) rowTxt.getChildAt(j)) + .getChildAt(0)) + .setText(arr[(i * ((LcdShield) getApplication() + .getRunningShields().get(getControllerTag())).columns) + + j] + + ""); + } + } + } + + private LcdEventHandler lcdEventHandler = new LcdEventHandler() { + + @Override + public void updateLCD(final char[] arrayToUpdate) { + if (canChangeUI() && drawn) + uiHandler.post(new Runnable() { + + @Override + public void run() { + redraw(arrayToUpdate); + } + }); + + } + + @Override + public void blink() { + if (canChangeUI() && drawn) + uiHandler.post(new Runnable() { + + @Override + public void run() { + LcdFragment.this.blink(); + } + }); + } + + @Override + public void noBlink() { + if (canChangeUI() && drawn) + uiHandler.post(new Runnable() { + + @Override + public void run() { + LcdFragment.this.noBlink(); + } + }); + } + + @Override + public void cursor() { + if (canChangeUI() && drawn) + uiHandler.post(new Runnable() { + + @Override + public void run() { + LcdFragment.this.cursor(); + } + }); + } + + @Override + public void noCursor() { + if (canChangeUI() && drawn) + uiHandler.post(new Runnable() { + + @Override + public void run() { + LcdFragment.this.noCursor(); + } + }); + } + + }; + + private void initializeFirmata() { + if ((getApplication().getRunningShields().get(getControllerTag())) == null) + getApplication().getRunningShields().put(getControllerTag(), + new LcdShield(getAppActivity(), getControllerTag())); + ((LcdShield) getApplication().getRunningShields().get( + getControllerTag())).setLcdEventHandler(lcdEventHandler); + } + + @Override + public void doOnServiceConnected() { + initializeFirmata(); + } + +}