fork(1) download
  1. import java.io.Serializable;
  2.  
  3. import android.content.Context;
  4. import android.os.Bundle;
  5. import android.os.Parcel;
  6. import android.os.Parcelable;
  7. import android.util.AttributeSet;
  8. import android.util.Log;
  9. import android.util.SparseArray;
  10. import android.view.LayoutInflater;
  11. import android.view.View;
  12. import android.widget.Button;
  13. import android.widget.LinearLayout;
  14. import android.widget.TextView;
  15.  
  16. public class ActionHolder extends LinearLayout implements Serializable {
  17.  
  18. /**
  19.   *
  20.   */
  21. private static final long serialVersionUID = 2271402255369440088L;
  22. private Action action;
  23. private String timer;
  24. public static final int ACTION_TITLE = 0, ACTION_TIMER = 1,
  25. PAUSEANDPLAY_BTN = 2, FINISH_BTN = 3;
  26.  
  27.  
  28.  
  29. public ActionHolder(Context context) {
  30. super(context);
  31. }
  32.  
  33.  
  34.  
  35. public ActionHolder(Context context, AttributeSet attr) {
  36. super(context, attr);
  37. }
  38.  
  39.  
  40.  
  41. public ActionHolder(Context context, AttributeSet attr, int defStyle) {
  42. super(context, attr, defStyle);
  43. }
  44.  
  45.  
  46.  
  47. public void initiate(Action input) {
  48. // int hashedID = input.getActionName().hashCode();
  49. // if (hashedID < 0)
  50. // hashedID *= -1;
  51. // this.setId(hashedID);
  52. this.setOrientation(LinearLayout.VERTICAL);
  53. this.setLayoutParams(new LinearLayout.LayoutParams(
  54. LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
  55. action = input;
  56. LayoutInflater inflater = LayoutInflater.from(getContext());
  57. View view = inflater.inflate(R.layout.action_holder_layout, this, true);
  58.  
  59. TextView actionTitle = (TextView) view
  60. .findViewById(com.tonimiko.mochi_bean.R.id.action_holder_title);
  61. actionTitle.setText(action.getActionName());
  62. actionTitle.setId(ActionHolder.ACTION_TITLE);
  63.  
  64. TextView actionTimer = (TextView) view
  65. .findViewById(R.id.action_holder_timer);
  66. actionTimer.setId(ActionHolder.ACTION_TIMER);
  67.  
  68. Button pauseBtn = (Button) view
  69. .findViewById(com.tonimiko.mochi_bean.R.id.pause_and_play_timer_btn);
  70. pauseBtn.setId(ActionHolder.PAUSEANDPLAY_BTN);
  71.  
  72. Button finishBtn = (Button) view
  73. .findViewById(com.tonimiko.mochi_bean.R.id.finish_activity_button);
  74. finishBtn.setId(ActionHolder.FINISH_BTN);
  75.  
  76. action.setActivityStartTime();
  77. }
  78.  
  79.  
  80.  
  81. public Action finishAction() {
  82. action.setActivityStopTime();
  83. return action;
  84. }
  85.  
  86.  
  87.  
  88. @Override
  89. protected void onLayout(boolean changed, int l, int t, int r, int b) {
  90. super.onLayout(changed, l, t, r, b);
  91. }
  92.  
  93.  
  94.  
  95. public String toString() {
  96. return "Action stored: " + action.getActionName();
  97. }
  98.  
  99.  
  100.  
  101. @Override
  102. public boolean equals(Object other) {
  103. ActionHolder otherObj = (ActionHolder) other;
  104. if (this.action.getActionName().toUpperCase()
  105. .equals(otherObj.action.getActionName().toUpperCase()))
  106. return true;
  107. return false;
  108. }
  109.  
  110.  
  111.  
  112. @Override
  113. public int hashCode() {
  114. return action.getActionName().hashCode();
  115. }
  116.  
  117.  
  118.  
  119. @Override
  120. protected Parcelable onSaveInstanceState() {
  121. Parcelable superState = super.onSaveInstanceState();
  122. Bundle data = new Bundle();
  123. data.putString("Timer", timer);
  124. data.putSerializable("Action", action);
  125. Log.e("debug", "View onSaveInstanceState called!"); // TODO
  126. Parcelable test = new ActionHolderSavedState(superState, data);
  127. if(test==null)
  128. Log.e("debug", "NULL PARCELABLE"); // TODO
  129. return new ActionHolderSavedState(superState, data);
  130. }
  131.  
  132.  
  133.  
  134. @Override
  135. protected void onRestoreInstanceState(Parcelable state) {
  136. Log.e("debug", "View onRestore called!");
  137. if (state instanceof ActionHolderSavedState) {
  138. final ActionHolderSavedState savedState = (ActionHolderSavedState) state;
  139. this.action = savedState.getAction();
  140. this.timer = savedState.getTimer();
  141. // this.initiate(action);
  142. super.onRestoreInstanceState(savedState.getSuperState());
  143. Log.e("debug", "View onRestoreInstanceState finished"); // TODO
  144. }
  145. }
  146.  
  147. static class ActionHolderSavedState extends BaseSavedState {
  148.  
  149. private Action storedAction;
  150. private String storedTimer;
  151.  
  152.  
  153.  
  154. public ActionHolderSavedState(Parcelable superState, Bundle data) {
  155. super(superState);
  156. storedTimer = data.getString("Timer");
  157. storedAction = (Action) data.getSerializable("Action");
  158. }
  159.  
  160.  
  161.  
  162. private ActionHolderSavedState(Parcel in) {
  163. super(in);
  164. storedTimer = in.readString();
  165. storedAction = in.readParcelable(ActionHolder.class.getClassLoader());
  166. }
  167.  
  168.  
  169.  
  170. public Action getAction() {
  171. return storedAction;
  172. }
  173.  
  174.  
  175.  
  176. public String getTimer() {
  177. return storedTimer;
  178. }
  179.  
  180.  
  181.  
  182. @Override
  183. public void writeToParcel(final Parcel out, final int flags) {
  184. super.writeToParcel(out, flags);
  185. out.writeString(storedTimer);
  186. out.writeSerializable(storedAction);
  187. }
  188.  
  189. // required field that makes Parcelables from a Parcel
  190. public static final Parcelable.Creator<ActionHolderSavedState> CREATOR = new Parcelable.Creator<ActionHolderSavedState>() {
  191.  
  192. public ActionHolderSavedState createFromParcel(final Parcel in) {
  193. return new ActionHolderSavedState(in);
  194. }
  195.  
  196.  
  197.  
  198. public ActionHolderSavedState[] newArray(int size) {
  199. return new ActionHolderSavedState[size];
  200. }
  201. };
  202. }
  203. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Main.java:16: error: class ActionHolder is public, should be declared in a file named ActionHolder.java
public class ActionHolder extends LinearLayout implements Serializable {
       ^
Main.java:3: error: package android.content does not exist
import android.content.Context;
                      ^
Main.java:4: error: package android.os does not exist
import android.os.Bundle;
                 ^
Main.java:5: error: package android.os does not exist
import android.os.Parcel;
                 ^
Main.java:6: error: package android.os does not exist
import android.os.Parcelable;
                 ^
Main.java:7: error: package android.util does not exist
import android.util.AttributeSet;
                   ^
Main.java:8: error: package android.util does not exist
import android.util.Log;
                   ^
Main.java:9: error: package android.util does not exist
import android.util.SparseArray;
                   ^
Main.java:10: error: package android.view does not exist
import android.view.LayoutInflater;
                   ^
Main.java:11: error: package android.view does not exist
import android.view.View;
                   ^
Main.java:12: error: package android.widget does not exist
import android.widget.Button;
                     ^
Main.java:13: error: package android.widget does not exist
import android.widget.LinearLayout;
                     ^
Main.java:14: error: package android.widget does not exist
import android.widget.TextView;
                     ^
Main.java:16: error: cannot find symbol
public class ActionHolder extends LinearLayout implements Serializable {
                                  ^
  symbol: class LinearLayout
Main.java:22: error: cannot find symbol
   private Action action;
           ^
  symbol:   class Action
  location: class ActionHolder
Main.java:29: error: cannot find symbol
   public ActionHolder(Context context) {
                       ^
  symbol:   class Context
  location: class ActionHolder
Main.java:35: error: cannot find symbol
   public ActionHolder(Context context, AttributeSet attr) {
                       ^
  symbol:   class Context
  location: class ActionHolder
Main.java:35: error: cannot find symbol
   public ActionHolder(Context context, AttributeSet attr) {
                                        ^
  symbol:   class AttributeSet
  location: class ActionHolder
Main.java:41: error: cannot find symbol
   public ActionHolder(Context context, AttributeSet attr, int defStyle) {
                       ^
  symbol:   class Context
  location: class ActionHolder
Main.java:41: error: cannot find symbol
   public ActionHolder(Context context, AttributeSet attr, int defStyle) {
                                        ^
  symbol:   class AttributeSet
  location: class ActionHolder
Main.java:47: error: cannot find symbol
   public void initiate(Action input) {
                        ^
  symbol:   class Action
  location: class ActionHolder
Main.java:81: error: cannot find symbol
   public Action finishAction() {
          ^
  symbol:   class Action
  location: class ActionHolder
Main.java:120: error: cannot find symbol
   protected Parcelable onSaveInstanceState() {
             ^
  symbol:   class Parcelable
  location: class ActionHolder
Main.java:135: error: cannot find symbol
   protected void onRestoreInstanceState(Parcelable state) {
                                         ^
  symbol:   class Parcelable
  location: class ActionHolder
Main.java:147: error: cannot find symbol
   static class ActionHolderSavedState extends BaseSavedState {
                                               ^
  symbol:   class BaseSavedState
  location: class ActionHolder
Main.java:149: error: cannot find symbol
      private Action storedAction;
              ^
  symbol:   class Action
  location: class ActionHolderSavedState
Main.java:154: error: cannot find symbol
      public ActionHolderSavedState(Parcelable superState, Bundle data) {
                                    ^
  symbol:   class Parcelable
  location: class ActionHolderSavedState
Main.java:154: error: cannot find symbol
      public ActionHolderSavedState(Parcelable superState, Bundle data) {
                                                           ^
  symbol:   class Bundle
  location: class ActionHolderSavedState
Main.java:162: error: cannot find symbol
      private ActionHolderSavedState(Parcel in) {
                                     ^
  symbol:   class Parcel
  location: class ActionHolderSavedState
Main.java:170: error: cannot find symbol
      public Action getAction() {
             ^
  symbol:   class Action
  location: class ActionHolderSavedState
Main.java:183: error: cannot find symbol
      public void writeToParcel(final Parcel out, final int flags) {
                                      ^
  symbol:   class Parcel
  location: class ActionHolderSavedState
Main.java:190: error: package Parcelable does not exist
      public static final Parcelable.Creator<ActionHolderSavedState> CREATOR = new Parcelable.Creator<ActionHolderSavedState>() {
                                    ^
Main.java:52: error: cannot find symbol
      this.setOrientation(LinearLayout.VERTICAL);
                          ^
  symbol:   variable LinearLayout
  location: class ActionHolder
Main.java:53: error: package LinearLayout does not exist
      this.setLayoutParams(new LinearLayout.LayoutParams(
                                           ^
Main.java:54: error: cannot find symbol
            LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
            ^
  symbol:   variable LayoutParams
  location: class ActionHolder
Main.java:54: error: cannot find symbol
            LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
                                       ^
  symbol:   variable LayoutParams
  location: class ActionHolder
Main.java:56: error: cannot find symbol
      LayoutInflater inflater = LayoutInflater.from(getContext());
      ^
  symbol:   class LayoutInflater
  location: class ActionHolder
Main.java:56: error: cannot find symbol
      LayoutInflater inflater = LayoutInflater.from(getContext());
                                                    ^
  symbol:   method getContext()
  location: class ActionHolder
Main.java:56: error: cannot find symbol
      LayoutInflater inflater = LayoutInflater.from(getContext());
                                ^
  symbol:   variable LayoutInflater
  location: class ActionHolder
Main.java:57: error: cannot find symbol
      View view = inflater.inflate(R.layout.action_holder_layout, this, true);
      ^
  symbol:   class View
  location: class ActionHolder
Main.java:57: error: package R does not exist
      View view = inflater.inflate(R.layout.action_holder_layout, this, true);
                                    ^
Main.java:59: error: cannot find symbol
      TextView actionTitle = (TextView) view
      ^
  symbol:   class TextView
  location: class ActionHolder
Main.java:59: error: cannot find symbol
      TextView actionTitle = (TextView) view
                              ^
  symbol:   class TextView
  location: class ActionHolder
Main.java:60: error: package com.tonimiko.mochi_bean.R does not exist
            .findViewById(com.tonimiko.mochi_bean.R.id.action_holder_title);
                                                   ^
Main.java:64: error: cannot find symbol
      TextView actionTimer = (TextView) view
      ^
  symbol:   class TextView
  location: class ActionHolder
Main.java:64: error: cannot find symbol
      TextView actionTimer = (TextView) view
                              ^
  symbol:   class TextView
  location: class ActionHolder
Main.java:65: error: package R does not exist
            .findViewById(R.id.action_holder_timer);
                           ^
Main.java:68: error: cannot find symbol
      Button pauseBtn = (Button) view
      ^
  symbol:   class Button
  location: class ActionHolder
Main.java:68: error: cannot find symbol
      Button pauseBtn = (Button) view
                         ^
  symbol:   class Button
  location: class ActionHolder
Main.java:69: error: package com.tonimiko.mochi_bean.R does not exist
            .findViewById(com.tonimiko.mochi_bean.R.id.pause_and_play_timer_btn);
                                                   ^
Main.java:72: error: cannot find symbol
      Button finishBtn = (Button) view
      ^
  symbol:   class Button
  location: class ActionHolder
Main.java:72: error: cannot find symbol
      Button finishBtn = (Button) view
                          ^
  symbol:   class Button
  location: class ActionHolder
Main.java:73: error: package com.tonimiko.mochi_bean.R does not exist
            .findViewById(com.tonimiko.mochi_bean.R.id.finish_activity_button);
                                                   ^
Main.java:90: error: cannot find symbol
      super.onLayout(changed, l, t, r, b);
      ^
  symbol:   variable super
  location: class ActionHolder
Main.java:88: error: method does not override or implement a method from a supertype
   @Override
   ^
Main.java:103: error: inconvertible types
      ActionHolder otherObj = (ActionHolder) other;
                                             ^
  required: ActionHolder
  found:    Object
Main.java:121: error: cannot find symbol
      Parcelable superState = super.onSaveInstanceState();
      ^
  symbol:   class Parcelable
  location: class ActionHolder
Main.java:121: error: cannot find symbol
      Parcelable superState = super.onSaveInstanceState();
                              ^
  symbol:   variable super
  location: class ActionHolder
Main.java:122: error: cannot find symbol
      Bundle data = new Bundle();
      ^
  symbol:   class Bundle
  location: class ActionHolder
Main.java:122: error: cannot find symbol
      Bundle data = new Bundle();
                        ^
  symbol:   class Bundle
  location: class ActionHolder
Main.java:125: error: cannot find symbol
      Log.e("debug", "View onSaveInstanceState called!"); // TODO
      ^
  symbol:   variable Log
  location: class ActionHolder
Main.java:126: error: cannot find symbol
      Parcelable test = new ActionHolderSavedState(superState, data);
      ^
  symbol:   class Parcelable
  location: class ActionHolder
Main.java:128: error: cannot find symbol
         Log.e("debug", "NULL PARCELABLE"); // TODO
         ^
  symbol:   variable Log
  location: class ActionHolder
Main.java:119: error: method does not override or implement a method from a supertype
   @Override
   ^
Main.java:136: error: cannot find symbol
      Log.e("debug", "View onRestore called!");
      ^
  symbol:   variable Log
  location: class ActionHolder
Main.java:142: error: cannot find symbol
         super.onRestoreInstanceState(savedState.getSuperState());
                                                ^
  symbol:   method getSuperState()
  location: variable savedState of type ActionHolderSavedState
Main.java:142: error: cannot find symbol
         super.onRestoreInstanceState(savedState.getSuperState());
         ^
  symbol:   variable super
  location: class ActionHolder
Main.java:143: error: cannot find symbol
         Log.e("debug", "View onRestoreInstanceState finished"); // TODO
         ^
  symbol:   variable Log
  location: class ActionHolder
Main.java:134: error: method does not override or implement a method from a supertype
   @Override
   ^
Main.java:157: error: cannot find symbol
         storedAction = (Action) data.getSerializable("Action");
                         ^
  symbol:   class Action
  location: class ActionHolderSavedState
Main.java:184: error: cannot find symbol
         super.writeToParcel(out, flags);
         ^
  symbol:   variable super
  location: class ActionHolderSavedState
Main.java:182: error: method does not override or implement a method from a supertype
      @Override
      ^
Main.java:190: error: package Parcelable does not exist
      public static final Parcelable.Creator<ActionHolderSavedState> CREATOR = new Parcelable.Creator<ActionHolderSavedState>() {
                                                                                             ^
73 errors
stdout
Standard output is empty