Add a couple Bliss specific patches

Change-Id: I7fbd1099f5cc7fee360dc0132f26d3463ead4def
diff --git a/patches/platform_frameworks_base/0001-Revert-Revert-Remove-getIntWithSubId-in-TelephonyMan.patch b/patches/platform_frameworks_base/0001-Revert-Revert-Remove-getIntWithSubId-in-TelephonyMan.patch
new file mode 100644
index 0000000..be07474
--- /dev/null
+++ b/patches/platform_frameworks_base/0001-Revert-Revert-Remove-getIntWithSubId-in-TelephonyMan.patch
@@ -0,0 +1,63 @@
+From eee4d12d38bdbdab39abcd9c280eda864fd26855 Mon Sep 17 00:00:00 2001
+From: jhenrique09 <jhenrique09.mcz@hotmail.com>
+Date: Sat, 11 Aug 2018 13:40:00 -0400
+Subject: [PATCH] Revert "Revert "Remove getIntWithSubId in TelephonyManager.""
+
+This reverts commit e788decb1b366a9df9683d86314ea4cf22a10d74.
+---
+ .../android/telephony/TelephonyManager.java   | 39 -------------------
+ 1 file changed, 39 deletions(-)
+
+diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java
+index 10dc43ae539..487490c194b 100644
+--- a/telephony/java/android/telephony/TelephonyManager.java
++++ b/telephony/java/android/telephony/TelephonyManager.java
+@@ -6629,45 +6629,6 @@ public class TelephonyManager {
+         return false;
+     }
+ 
+-    /**
+-     * This function retrieves value for setting "name+subId", and if that is not found
+-     * retrieves value for setting "name", and if that is not found throws
+-     * SettingNotFoundException
+-     *
+-     * @hide
+-     */
+-    public static int getIntWithSubId(ContentResolver cr, String name, int subId)
+-            throws SettingNotFoundException {
+-        try {
+-            return Settings.Global.getInt(cr, name + subId);
+-        } catch (SettingNotFoundException e) {
+-            try {
+-                int val = Settings.Global.getInt(cr, name);
+-                Settings.Global.putInt(cr, name + subId, val);
+-
+-                /* We are now moving from 'setting' to 'setting+subId', and using the value stored
+-                 * for 'setting' as default. Reset the default (since it may have a user set
+-                 * value). */
+-                int default_val = val;
+-                if (name.equals(Settings.Global.MOBILE_DATA)) {
+-                    default_val = "true".equalsIgnoreCase(
+-                            SystemProperties.get("ro.com.android.mobiledata", "true")) ? 1 : 0;
+-                } else if (name.equals(Settings.Global.DATA_ROAMING)) {
+-                    default_val = "true".equalsIgnoreCase(
+-                            SystemProperties.get("ro.com.android.dataroaming", "false")) ? 1 : 0;
+-                }
+-
+-                if (default_val != val) {
+-                    Settings.Global.putInt(cr, name, default_val);
+-                }
+-
+-                return val;
+-            } catch (SettingNotFoundException exc) {
+-                throw new SettingNotFoundException(name);
+-            }
+-        }
+-    }
+-
+     /**
+      * Returns the IMS Registration Status for a particular Subscription ID.
+      *
+-- 
+2.17.1
+
diff --git a/patches/platform_frameworks_compile_mclinker/0001-Revert-Update-FlexLinker.h-to-current-version-of-fle.patch b/patches/platform_frameworks_compile_mclinker/0001-Revert-Update-FlexLinker.h-to-current-version-of-fle.patch
new file mode 100644
index 0000000..d1211e8
--- /dev/null
+++ b/patches/platform_frameworks_compile_mclinker/0001-Revert-Update-FlexLinker.h-to-current-version-of-fle.patch
@@ -0,0 +1,241 @@
+From e6c2552e60db1443867762dd62f51f9370dfb23d Mon Sep 17 00:00:00 2001
+From: Steven Moreland <smoreland@google.com>
+Date: Thu, 31 May 2018 14:38:54 -0700
+Subject: [PATCH] Revert "Update FlexLinker.h to current version of flex."
+
+This reverts commit a0a36870d5b5a66b7f7d04ea1aa15488b396d42d.
+---
+ include/mcld/Script/FlexLexer.h | 133 ++++++++++++++------------------
+ 1 file changed, 56 insertions(+), 77 deletions(-)
+
+diff --git a/include/mcld/Script/FlexLexer.h b/include/mcld/Script/FlexLexer.h
+index cbc95f9..3514ee1 100644
+--- a/include/mcld/Script/FlexLexer.h
++++ b/include/mcld/Script/FlexLexer.h
+@@ -44,141 +44,122 @@
+ // to rename each yyFlexLexer to some other xxFlexLexer.  You then
+ // include <FlexLexer.h> in your other sources once per lexer class:
+ //
+-//      #undef yyFlexLexer
+-//      #define yyFlexLexer xxFlexLexer
+-//      #include <FlexLexer.h>
++//	#undef yyFlexLexer
++//	#define yyFlexLexer xxFlexLexer
++//	#include <FlexLexer.h>
+ //
+-//      #undef yyFlexLexer
+-//      #define yyFlexLexer zzFlexLexer
+-//      #include <FlexLexer.h>
+-//      ...
++//	#undef yyFlexLexer
++//	#define yyFlexLexer zzFlexLexer
++//	#include <FlexLexer.h>
++//	...
+ 
+ #ifndef __FLEX_LEXER_H
+ // Never included before - need to define base class.
+ #define __FLEX_LEXER_H
+ 
+ #include <iostream>
++#ifndef FLEX_STD
++#define FLEX_STD std::
++#endif
+ 
+ extern "C++" {
+-
+ struct yy_buffer_state;
+ typedef int yy_state_type;
+ 
+-class FlexLexer
+-{
+-public:
+-  virtual ~FlexLexer()        { }
++class FlexLexer {
++ public:
++  virtual ~FlexLexer() {}
+ 
+-  const char* YYText() const  { return yytext; }
+-  int YYLeng()        const   { return yyleng; }
++  const char* YYText() const { return yytext; }
++  int YYLeng() const { return yyleng; }
+ 
+-  virtual void
+-  yy_switch_to_buffer( yy_buffer_state* new_buffer ) = 0;
+-  virtual yy_buffer_state* yy_create_buffer( std::istream* s, int size ) = 0;
+-  virtual yy_buffer_state* yy_create_buffer( std::istream& s, int size ) = 0;
+-  virtual void yy_delete_buffer( yy_buffer_state* b ) = 0;
+-  virtual void yyrestart( std::istream* s ) = 0;
+-  virtual void yyrestart( std::istream& s ) = 0;
++  virtual void yy_switch_to_buffer(struct yy_buffer_state* new_buffer) = 0;
++  virtual struct yy_buffer_state* yy_create_buffer(FLEX_STD istream* s,
++                                                   int size) = 0;
++  virtual void yy_delete_buffer(struct yy_buffer_state* b) = 0;
++  virtual void yyrestart(FLEX_STD istream* s) = 0;
+ 
+   virtual int yylex() = 0;
+ 
+   // Call yylex with new input/output sources.
+-  int yylex( std::istream& new_in, std::ostream& new_out )
+-  {
+-    switch_streams( new_in, new_out );
+-    return yylex();
+-  }
+-
+-  int yylex( std::istream* new_in, std::ostream* new_out = 0)
+-  {
+-    switch_streams( new_in, new_out );
++  int yylex(FLEX_STD istream* new_in, FLEX_STD ostream* new_out = 0) {
++    switch_streams(new_in, new_out);
+     return yylex();
+   }
+ 
+   // Switch to new input/output streams.  A nil stream pointer
+   // indicates "keep the current one".
+-  virtual void switch_streams( std::istream* new_in,
+-                               std::ostream* new_out ) = 0;
+-  virtual void switch_streams( std::istream& new_in,
+-                               std::ostream& new_out ) = 0;
++  virtual void switch_streams(FLEX_STD istream* new_in = 0,
++                              FLEX_STD ostream* new_out = 0) = 0;
+ 
+-  int lineno() const          { return yylineno; }
++  int lineno() const { return yylineno; }
+ 
+-  int debug() const           { return yy_flex_debug; }
+-  void set_debug( int flag )  { yy_flex_debug = flag; }
++  int debug() const { return yy_flex_debug; }
++  void set_debug(int flag) { yy_flex_debug = flag; }
+ 
+-protected:
++ protected:
+   char* yytext;
+   int yyleng;
+   int yylineno;       // only maintained if you use %option yylineno
+   int yy_flex_debug;  // only has effect with -d or "%option debug"
+ };
+-
+ }
+-#endif // FLEXLEXER_H
++#endif  // FLEXLEXER_H
+ 
+-#if defined(yyFlexLexer) || ! defined(yyFlexLexerOnce)
++#if defined(yyFlexLexer) || !defined(yyFlexLexerOnce)
+ // Either this is the first time through (yyFlexLexerOnce not defined),
+ // or this is a repeated include to define a different flavor of
+ // yyFlexLexer, as discussed in the flex manual.
+-# define yyFlexLexerOnce
++#define yyFlexLexerOnce
+ 
+ extern "C++" {
+-
+ class yyFlexLexer : public FlexLexer {
+-public:
++ public:
+   // arg_yyin and arg_yyout default to the cin and cout, but we
+   // only make that assignment when initializing in yylex().
+-  yyFlexLexer( std::istream& arg_yyin, std::ostream& arg_yyout );
+-  yyFlexLexer( std::istream* arg_yyin = 0, std::ostream* arg_yyout = 0 );
+-private:
+-  void ctor_common();
+-
+-public:
++  yyFlexLexer(FLEX_STD istream* arg_yyin = 0, FLEX_STD ostream* arg_yyout = 0);
+ 
+   virtual ~yyFlexLexer();
+ 
+-  void yy_switch_to_buffer( yy_buffer_state* new_buffer );
+-  yy_buffer_state* yy_create_buffer( std::istream* s, int size );
+-  yy_buffer_state* yy_create_buffer( std::istream& s, int size );
+-  void yy_delete_buffer( yy_buffer_state* b );
+-  void yyrestart( std::istream* s );
+-  void yyrestart( std::istream& s );
++  void yy_switch_to_buffer(struct yy_buffer_state* new_buffer);
++  struct yy_buffer_state* yy_create_buffer(FLEX_STD istream* s, int size);
++  void yy_delete_buffer(struct yy_buffer_state* b);
++  void yyrestart(FLEX_STD istream* s);
+ 
+-  void yypush_buffer_state( yy_buffer_state* new_buffer );
++  void yypush_buffer_state(struct yy_buffer_state* new_buffer);
+   void yypop_buffer_state();
+ 
+   virtual int yylex();
+-  virtual void switch_streams( std::istream& new_in, std::ostream& new_out );
+-  virtual void switch_streams( std::istream* new_in = 0, std::ostream* new_out = 0 );
++  virtual void switch_streams(FLEX_STD istream* new_in,
++                              FLEX_STD ostream* new_out = 0);
+   virtual int yywrap();
+ 
+-protected:
+-  virtual int LexerInput( char* buf, int max_size );
+-  virtual void LexerOutput( const char* buf, int size );
+-  virtual void LexerError( const char* msg );
++ protected:
++  virtual int LexerInput(char* buf, int max_size);
++  virtual void LexerOutput(const char* buf, int size);
++  virtual void LexerError(const char* msg);
+ 
+-  void yyunput( int c, char* buf_ptr );
++  void yyunput(int c, char* buf_ptr);
+   int yyinput();
+ 
+   void yy_load_buffer_state();
+-  void yy_init_buffer( yy_buffer_state* b, std::istream& s );
+-  void yy_flush_buffer( yy_buffer_state* b );
++  void yy_init_buffer(struct yy_buffer_state* b, FLEX_STD istream* s);
++  void yy_flush_buffer(struct yy_buffer_state* b);
+ 
+   int yy_start_stack_ptr;
+   int yy_start_stack_depth;
+   int* yy_start_stack;
+ 
+-  void yy_push_state( int new_state );
++  void yy_push_state(int new_state);
+   void yy_pop_state();
+   int yy_top_state();
+ 
+   yy_state_type yy_get_previous_state();
+-  yy_state_type yy_try_NUL_trans( yy_state_type current_state );
++  yy_state_type yy_try_NUL_trans(yy_state_type current_state);
+   int yy_get_next_buffer();
+ 
+-  std::istream yyin;  // input source for default LexerInput
+-  std::ostream yyout; // output sink for default LexerOutput
++  FLEX_STD istream* yyin;   // input source for default LexerInput
++  FLEX_STD ostream* yyout;  // output sink for default LexerOutput
+ 
+   // yy_hold_char holds the character lost when yytext is formed.
+   char yy_hold_char;
+@@ -189,17 +170,16 @@ protected:
+   // Points to current character in buffer.
+   char* yy_c_buf_p;
+ 
+-  int yy_init;                // whether we need to initialize
+-  int yy_start;               // start state number
++  int yy_init;   // whether we need to initialize
++  int yy_start;  // start state number
+ 
+   // Flag which is used to allow yywrap()'s to do buffer switches
+   // instead of setting up a fresh yyin.  A bit of a hack ...
+   int yy_did_buffer_switch_on_eof;
+ 
+-
+-  size_t yy_buffer_stack_top; /**< index of top of stack. */
+-  size_t yy_buffer_stack_max; /**< capacity of stack. */
+-  yy_buffer_state ** yy_buffer_stack; /**< Stack as an array. */
++  size_t yy_buffer_stack_top;               /**< index of top of stack. */
++  size_t yy_buffer_stack_max;               /**< capacity of stack. */
++  struct yy_buffer_state** yy_buffer_stack; /**< Stack as an array. */
+   void yyensure_buffer_stack(void);
+ 
+   // The following are not always needed, but may be depending
+@@ -223,7 +203,6 @@ protected:
+   int yy_more_offset;
+   int yy_prev_more_offset;
+ };
+-
+ }
+ 
+ #endif  // yyFlexLexer || ! yyFlexLexerOnce
+-- 
+2.17.1
+