% Macros

% colors from draw.io
\definecolor{hotpink}{HTML}{FF66B3}
\definecolor{hotred}{HTML}{FF3333}
\definecolor{milka}{HTML}{9933FF}

% tl;dr:
% \t{this is a todo}
% \q{this is a question}
% \ie, \eg, \ok (makes a checkmark), \etc

\newcommand{\mypar}[1]{\smallskip\noindent\textbf{#1.}\xspace}

%collaborator comments
\newcommand\reviewcomment[3]{
    \ifreview
    \textcolor{#1}{#2 - #3}
    \fi
}
% collaborators: add your initials here and pick a color
\newcommand\ml[1]{\reviewcomment{magenta}{#1}{ML}}
\newcommand\jb[1]{\reviewcomment{teal}{#1}{JB}}

% todos 
\newcommand\todo[1]{\reviewcomment{blue}{#1}{[TODO]}}
\newcommand\q[1]{\reviewcomment{red}{#1}{[QUESTION]}}

\newcommand\bigtodo[1]{%
  \ifreview
  \begin{center}
    \begin{minipage}{.95\linewidth}
      \color{red!70}\vrule width 3pt%
      \colorbox{red!15}{%
        \parbox{.95\textwidth}{%
          \textcolor{black}{\small%
            TODO\@: #1%
          }%
        }%
      }%
    \end{minipage}
  \end{center}
  \fi
}

\newcommand\bignote[1]{%
  \ifreview
  \begin{center}
    \begin{minipage}{.95\linewidth}
      \color{teal!70}\vrule width 3pt%
      \colorbox{teal!15}{%
        \parbox{.95\textwidth}{%
          \textcolor{black}{\small%
            NOTE\@: #1%
          }%
        }%
      }%
    \end{minipage}
  \end{center}
  \fi
}

% expressions
\newcommand{\vs}{vs. }
\newcommand{\ie}{{i.e.,}\xspace}
\newcommand{\ia}{{i.a.,}\xspace}
\newcommand{\eg}{{e.g.,}\xspace}
\newcommand{\cf}{{cf.,}\xspace}
\newcommand{\resp}{{resp.,}\xspace}
\newcommand{\etal}{{et al.}\xspace}
\newcommand{\etc}{{etc.}\xspace}
\newcommand{\via}{{via}\xspace}

\newcommand{\ok}{\ding{51}}


% Acronyms

\usepackage[acronym]{glossaries}
\glsdisablehyper %no links for glossary / acronyms

\newacronym{art}{ART}{Android Runtime}
\providecommand{\art}{\acrshort{art}}

\newacronym{apk}{APK}{Android Package}
\providecommand{\apk}{\acrshort{apk}}
\providecommand{\apks}{\acrshortpl{apk}}

\newacronym{ndk}{NDK}{Native Development Kit}
\providecommand{\ndk}{\acrshort{ndk}}

\newacronym[longplural={Third Party Libraries}]{tpl}{TPL}{Third Party Library}
\providecommand{\tpl}{\acrshort{tpl}}

\newacronym{oat}{OAT}{Of Ahead Time} % m) https://stackoverflow.com/questions/28435860/what-does-oat-mean  -- the history android names deserve some research someday (D8, dalvik, ..)
\providecommand{\oat}{\acrshort{oat}}

\newacronym{elf}{ELF}{Executable and Linkable Format}
\providecommand{\elf}{\acrshort{elf}}

\newacronym[shortplural={DEXes}]{dex}{DEX}{Dalvik Executable}
\providecommand{\dex}{\acrshort{dex}}

\newacronym{jit}{JIT}{Just-In-Time}
\providecommand{\jit}{\acrshort{jit}}

\newacronym{aot}{AOT}{Ahead-Of-Time}
\providecommand{\aot}{\acrshort{aot}}


\newacronym{app}{app}{application}
\providecommand{\app}{\acrshort{app}}
\providecommand{\apps}{\acrshortpl{app}}

% names for the tools we work with
%\newcommand{\thecompiler}{\textsc{OATmeal}\xspace}
\newcommand{\thediffer}{\textsc{androSAFE}\xspace}

\newcommand{\javac}{\textsf{javac}\xspace}
\newcommand{\dexoat}{\textsf{dex2oat}\xspace}
\newcommand{\apkoat}{\textsf{apk2oat}\xspace}
\newcommand{\dx}{\textsf{dx}\xspace}
\newcommand{\DB}{\textsf{D8}\xspace}
\newcommand{\RB}{\textsf{R8}\xspace}
\newcommand{\ndkbuild}{\textsf{ndk-build}\xspace}
\newcommand{\gcc}{\textsf{gcc}\xspace}
\newcommand{\clang}{\textsf{Clang}\xspace}
\newcommand{\fdroid}{\textsf{F-Droid}\xspace}
