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
+