<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
<HTML style="overflow:auto;">
<HEAD>
<meta name="generator" content="JDiff v1.1.0">
<!-- Generated by the JDiff Javadoc doclet -->
<!-- (http://www.jdiff.org) -->
<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
<TITLE>
Constructor Changes Index
</TITLE>
<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
<noscript>
<style type="text/css">
body{overflow:auto;}
#body-content{position:relative; top:0;}
#doc-content{overflow:visible;border-left:3px solid #666;}
#side-nav{padding:0;}
#side-nav .toggle-list ul {display:block;}
#resize-packages-nav{border-bottom:3px solid #666;}
</style>
</noscript>
<style type="text/css">
</style>
</HEAD>
<BODY class="gc-documentation" style="padding:12px;">
<a NAME="topheader"></a>
<table summary="Index for Constructors" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
  <tr>
  <th class="indexHeader">
    Filter the Index:
  </th>
  </tr>
  <tr>
  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
<a href="constructors_index_all.html" class="staysblack">All Constructors</a>
  <br>
<font color="#999999">Removals</font>
  <br>
<A HREF="constructors_index_additions.html"xclass="hiddenlink">Additions</A>
  <br>
<b>Changes</b>
  </td>
  </tr>
</table>
<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
</div>
<A NAME="I"></A>
<br><font size="+2">I</font>&nbsp;
<a href="#M"><font size="-2">M</font></a> 
 <a href="#topheader"><font size="-2">TOP</font></a>
<p><div style="line-height:1.5em;color:black">
<i>InputMethodSubtype</i><br>
&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputMethodSubtype.html#android.view.inputmethod.InputMethodSubtype.ctor_changed(int, int, java.lang.String, java.lang.String, java.lang.String, boolean, boolean)" class="hiddenlink" target="rightframe">InputMethodSubtype
(<code>int, int, String, String, String, boolean, boolean</code>)</A></nobr>&nbsp;constructor<br>
&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputMethodSubtype.html#android.view.inputmethod.InputMethodSubtype.ctor_changed(int, int, java.lang.String, java.lang.String, java.lang.String, boolean, boolean, int)" class="hiddenlink" target="rightframe">InputMethodSubtype
(<code>int, int, String, String, String, boolean, boolean, int</code>)</A></nobr>&nbsp;constructor<br>
<A NAME="M"></A>
<br><font size="+2">M</font>&nbsp;
<a href="#I"><font size="-2">I</font></a> 
 <a href="#topheader"><font size="-2">TOP</font></a>
<p><div style="line-height:1.5em;color:black">
<nobr><A HREF="android.opengl.Matrix.html#android.opengl.Matrix.ctor_changed()" class="hiddenlink" target="rightframe">Matrix
()</A></nobr>&nbsp;constructor<br>
<script src="//www.google-analytics.com/ga.js" type="text/javascript">
</script>
<script type="text/javascript">
  try {
    var pageTracker = _gat._getTracker("UA-5831155-1");
    pageTracker._setAllowAnchor(true);
    pageTracker._initData();
    pageTracker._trackPageview();
  } catch(e) {}
</script>
</BODY>
</HTML>
